DLL输出是否有任何解决方法不是调用应用程序正在调用的位置?
我想通过start external program
调试DLL,程序将在启动时加载DLL。这意味着程序启动后,我直接按下F5
而不是attach to process
。
为了不污染真实目标目录,我通过构建后事件将dll和pdb复制到真实目标目录。
但是断点未命中。
为此有任何解决方法吗?
我想我应该用尽可能少的单词来描述这个复杂的问题。
现在我有两个项目名为:ProjectExe
和ProjectDll
。
[ProjectExe
输出目录是:D:\ProjectExe\bin\
[ProjectDll
输出目录是:D:\ProjectDll\bin\
D:\ProjectExe\bin\
中有一个名为Plugins
的目录,所以它是D:\ProjectExe\bin\Plugins\
ProjectDll
构建后事件命令行:
XCOPY D:\ProjectDll\bin\*.dll D:\ProjectExe\bin\Plugins\ /Y
XCOPY D:\ProjectDll\bin\*.pdb D:\ProjectExe\bin\Plugins\ /Y
[ProjectExe
输出一个a.exe
,它将在启动后通过D:\ProjectExe\bin\Plugins\
加载Assembly.LoadFrom(string path)
中的所有dll。
这里是ProjectDll
设置:
[确定,现在我从ProjectDll
中按F5,启动a.exe
,然后触发a.exe
来调用dll中的方法,但是ProjectDll
中的断点未命中 !!!
如果现在我分离,请手动重新附加到a.exe
进程,然后触发a.exe
以调用dll内部的方法,即断点hit !!!
所以我的问题是在这种情况下如何使断点命中而无需重新连接?
但是断点未命中。为此有任何解决方法吗?