使用Visual Studio调试注入的DLL不起作用

时间:2018-07-13 12:54:58

标签: c++ windows visual-studio debugging dll

我将C ++ DLL注入到here中所述的目标进程中。在Visual Studio中,我想像“常规”应用程序一样调试注入的DLL。我遵循了this教程,该教程似乎很合理,但是Visual Studio不会中断,只说:

  

该断点当前不会被命中。没有为该文档加载任何符号。

为什么?我正在使用默认的Debug配置(我相信带有调试符号)。 DLL已成功注入并执行了DllMain,但是即使它已附加到目标进程,Visual Studio也不会“注意”。我需要考虑在Visual Studio中进行配置吗?

1 个答案:

答案 0 :(得分:0)

据我所知,即使Dll是使用Debug配置构建的,它也不会包含调试所需的所有符号。您仍然需要其在构建时生成的符号文件。 我假设您不是自己构建DLL的,因为否则Visual Studio应该能够自己在磁盘上找到符号文件。符号文件的扩展名为.pdb,通常位于build文件夹内。您需要找到它,并告诉Visual Studio在调试会话期间在哪里搜索它。找到符号文件后,从Visual Studio的菜单栏中选择“调试”,然后遵循以下路径:“ Options” =>“ Debugging” =>“ Symbols”。点击带有绿色加号的按钮以添加符号文件所在的位置。请注意,您只需要添加文件的位置,而无需指定文件名。