我正在使用C ++ / CLI中的混合模式程序集。在混合模式组装中成功完成所有托管模式组装的pdb的加载后,即使没有在模块窗格中显示本机pdb的信息,也不会加载本机dll和pdb(即,在VS Debug-> Windows-> Modules中)。] >
我正在使用本机dll,并在C ++ / CLI代码的混合程序集中调用其导出的函数。此处,函数已成功调用,但是未加载本机pdb符号,本机代码中的所有断点均显示为空心圆,并且工具提示指出为此未加载任何符号。
我已完成所有操作,将pdb放置在启动托管进程的当前目录中;删除所有obj和debug文件夹,并同时重新编译每个项目;我什至使用了ChkMatch实用程序,该实用程序显示Exe中的符号与相应的pdb相匹配。
从托管(C ++ / LCI混合模式)代码调用时,有没有办法启用本机代码的断点?
问候,
乌斯曼
我正在使用C ++ / CLI中的混合模式程序集。在混合模式组装中成功加载所有托管模式组装的pdb时,即使没有加载本地dll和pdb,即使...
混合模式调试可能会命中,甚至会错过。首先检查您是否确实启用了混合模式调试。在C#项目中,是“项目+属性”,“调试”,“已启用非托管代码调试”复选框。接下来,不为64位进程启用混合模式调试。如果在64位操作系统上运行,请确保强制.exe在32位模式下运行。项目+属性,“构建”选项卡,平台目标= x86。