我想调试一个用C++制作的dll,而它在一个用Release模式从C#构建的可执行文件中。C#应用程序应该是不知道的。在我运行C#程序后,我能够手动注入dll,目前打开了另一个窗口(所以我知道这是成功的)。
我在VS2019中以Debug模式构建dll。我去 Debug > Attach to Process
. 当我放一个断点的时候,它告诉我说不会被击中,因为符号没有加载。注入后确实没有被击中。该dll没有出现在 Debug > Windows > Modules
我尝试了同样的任务,但这次是用 notepad.exe
作为目标,而不是我的C#应用程序。它完美地工作了。我猜记事本是用C++或C语言而不是C#语言构建的。
是否不可能在不接触C#项目的情况下调试我注入的C++ dll?