情况:
我们有一个C#应用程序,它使用由其他人编码的dll。 dll指的是C ++代码。 C#应用程序通过包装器调用dll(C#函数然后调用C ++函数)。
问题:
有一个特定的C ++代码调用崩溃了。我需要进入C ++代码。我知道这是可能的,但我不知道如何做到这一点?
答案 0 :(得分:2)
在调试选项卡的项目设置中,有一个复选框,用于"启用本机代码调试"
您必须选中该框才能进入C ++代码。完成检查后,您应该能够进入C#代码。
如果您发现仍然无法进入禁用状态" Just My Code"在" Debug" - > "选项和设置"下拉菜单
如果您仍然无法介入,请确保您拥有包含调试元数据的dll的.pdb
文件,当程序暂停时,请转到" Debug" - > "视窗" - > "模块"下拉并检查是否看到"符号已加载"在符号状态列下。
如果您看到DLL但未加载,您可以右键单击并转到"加载符号"在DLL的行上找到pdb。
如果你根本没有看到DLL,你必须更多地运行你的程序,直到它至少使用过你的C ++ dll,所以它已被加载到内存中。