"符号文件中没有原生符号"在VS2013中调试从VFP9执行的C#DLL时

时间:2015-02-19 22:11:49

标签: c# debugging visual-studio-2013 com visual-foxpro

我不得不将一个exe程序移植到dll以便与VFP一起使用,这是我第一次学习调试过程,我在这里检查了很多文档和线程。

West-wind也是一个很大的帮助(http://www.west-wind.com/presentations/dotnetfromVfp/DotNetFromVfp_ComplexObjects.asp

问题是,现在我正在通过txt文件进行所有输出调试过程,这真的很烦人,所以我试图直接调试dll,但我步入此错误

输出Windows说

x86\Debug\dzg.dll: No native symbols in symbol file.

并在IDE中:

The Breakpoint will not currently be hit. No Symbols have been loaded for this document

我曾尝试过核,​​构建,重建,签名和regasm / codebase,gacutil / i dzg.dll等(我检查了所有的exe文件都是.net 3.5)

还在执行注册时检查了vs2013和vfp,命令提示符的管理员权限等。

但我只是无法加载符号文件来调试它

以前有人这样做过吗?大多数“无本机符号”的报告适用于ASP或C ++,但不适用于VFP

我确实尝试过在本网站,MSDN和其他网站上发布的所有解决方案,但我真的走到了死胡同。

任何提示赞赏。

2 个答案:

答案 0 :(得分:2)

  

符号文件中没有原生符号

这是准确的,C#类库的符号文件没有任何 native 符号,只有托管符号。这是错误的,因为您在Tools + Attach to Process对话框中选择了错误的调试引擎。单击“选择”按钮并勾选一个托管调试器。

更简单的方法是在C#项目中配置调试器。使用Project + Properties,Debug选项卡。选择“启动外部程序”单选按钮,然后选择VFP可执行文件。现在您只需按F5即可开始调试。

答案 1 :(得分:0)

我不确定我是否应该将Hans Passant的评论标记为答案,但当然我找到了解决方法。

如果我手动打开VFP然后将VS连接到手动,我可以按时调试代码,符号和断点可以正常工作,但如果我从中启动调试过程VS2013(通过"启动外部程序"它将无法正常工作