混合模式程序集未加载本机C ++ pdb的符号

问题描述 投票:7回答:1

我正在使用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,即使...

visual-c++ c++-cli breakpoints mixed-mode
1个回答
17
投票

混合模式调试可能会命中,甚至会错过。首先检查您是否确实启用了混合模式调试。在C#项目中,是“项目+属性”,“调试”,“已启用非托管代码调试”复选框。接下来,不为64位进程启用混合模式调试。如果在64位操作系统上运行,请确保强制.exe在32位模式下运行。项目+属性,“构建”选项卡,平台目标= x86。

© www.soinside.com 2019 - 2024. All rights reserved.