c++ - Visual Studio 调试器正在卸载 DLL 的符号

标签 c++ debugging

我有一个包含 C++ 可执行文件、C++ 库和 C# 库项目的解决方案。当我尝试调试可执行文件时,首先加载两个 dll 的符号文件,然后卸载:(显示一个示例)


'ur.exe' (Win32): Loaded 'C:\meinedateien\Dropbox\programme\urbs\ur\debug\ArchitectureCSLibrary.dll'. 
'ur.exe' (Win32): Loaded 'C:\meinedateien\Dropbox\programme\urbs\ur\debug\ArchitectureCSLibrary.dll'. 
'ur.exe' (Win32): Unloaded 'C:\meinedateien\Dropbox\programme\urbs\ur\debug\ArchitectureCSLibrary.dll'

这会阻止我调试 Dll。有什么想法可以防止 VS 卸载符号吗?我究竟做错了什么? (所有内容都是在 Debug模式下从干净编译的,并且未选中“仅调试自己的代码”选项)

最佳答案

虽然这个问题是几年前提出的,但只是想发布一个答案,以便对某人有用。

一切看起来都很棒。

pdb文件生成并复制到运行目录。 Visual Studio 模块窗口中的“符号状态”列的状态为“符号已加载”,但输出窗口中有“已加载...”和“已卸载...”字符串。因此它阻止了模块调试。

详细查看项目设置后发现“调试信息格式”设置为“无”。当把它改成诸如“Program Database (/Zi)”之类的东西然后运行这个问题就消失了,模块变成了一个可调试的模块。

enter image description here

关于c++ - Visual Studio 调试器正在卸载 DLL 的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37530775/

相关文章:

c++ - 创建二维动态数组的函数

c++ - Qt QUrlQuery 参数拆分

c++ - 如何将 int 转换为 char(不是 const char)以便与 putChar() 一起使用;

javascript - If 语句将 true 视为 false

ios - 如何从 BugSense 符号化 iOS 崩溃报告?

发布时的 android.util.Log - 我能做什么/不能做什么

c++ - 在 BGL 中恢复 A 星搜索

c++ - 非指针函数类型可以是非类型参数吗?

javascript - 在我的 Javascript 中未捕获的 TypeError - 从 JavaScript 调用 HTML

python - 如何调试/启动参数包含 "<"和 ">"的程序