C++DLL未加载调试符号
C++ DLL not loading debug symbols
在我的解决方案中,我有两个项目:一个是C++DLL,另一个是C#Windows Forms EXE(后者对前者有构建依赖关系)。DLL被正确地链接并工作(我的测试函数至少返回了正确的数字)。实际有用的功能是在某个地方抛出异常,但我无法调试它,因为没有加载C++项目的调试符号。
PDB肯定正在生成中!EXE、DLL和PDB都在同一个文件夹中。我甚至添加了他们的目录作为符号文件的位置之一(选项>调试>符号),但这并没有起到任何作用。
显然,模块窗口应该告诉你一些事情,但我的DLL没有出现在那里(但它仍然工作良好)。
我使用的是一个没有编译头的x64 DLL,如果这有什么不同的话。
编译器命令行:
/GS /W3 /Zc:wchar_t /I"E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientMusicStreamingClientRapidJsoninclude" /ZI /Gm /Od /Fd"x64Debugvc140.pdb" /Zc:inline /fp:precise /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "MUSICSTREAMINGCLIENT_EXPORTS" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /Fa"x64Debug" /EHsc /nologo /Fo"x64Debug" /Fp"x64DebugMusicStreamingClient.pch"
链接器命令行:
/OUT:"E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientx64DebugMusicStreamingClient.dll" /MANIFEST /NXCOMPAT /PDB:"E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientx64DebugMusicStreamingClient.pdb" /DYNAMICBASE "E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientMusicStreamingClientRapidJsonx64DebugRapidJson.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /IMPLIB:"E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientx64DebugMusicStreamingClient.lib" /DLL /MACHINE:X64 /INCREMENTAL /PGD:"E:UsersSeanDocumentsVisual Studio 2015ProjectsMusicStreamingClientx64DebugMusicStreamingClient.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64DebugMusicStreamingClient.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /TLBID:1
如有任何帮助,我们将不胜感激。
您当前只调试托管代码。本机符号将不可见。您需要更改调试选项,以便为项目启用托管模式和本机模式。
相关文章:
- VC++本机单元测试,找不到调试符号
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- GDB:运行不带符号的 cpp 进程调试
- 标识gdb调试器中符号的源文件名
- 有没有一种预处理器的方法可以从调试符号中删除代码段
- 简单的cmake项目,在Windows上使用nmake构建没有调试符号
- 重新定位源文件时读取调试符号
- 如何将libc++与调试符号链接起来?
- 在 gdb (Windows) 中添加 dll 的调试符号
- 如何定义具有依赖于符号调试的参数的函数
- 从静态库中去除/删除调试符号和存档名称
- Nodejs本机模块 - 如何删除调试符号
- 如何告诉 clang 将调试符号放入可执行二进制文件中
- G++ 切换为不包含自己的符号函数名称(和调试数据)-
- G++ 不生成调试符号
- GDB正在调试一个缺少特定调用堆栈的符号表的核心转储
- 如何为安卓原生应用生成调试符号
- Makefile和QT5:链接QT5与调试符号
- 带有 OpenGL 的项目符号调试抽屉