"No native symbols in symbol file" 在 VS2013 中调试从 VFP9 执行的 C# DLL 时

"No native symbols in symbol file" when debugging C# DLL executed from VFP9 in VS2013

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

西风帮了大忙(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

我尝试过 nuke、构建、重建、签名和 regasm /codebase、gacutil /i dzg.dll 等(我检查了所有的 exe 都是针对 .net 3.5 的)

还检查了 vs2013 和 vfp 的管理员权限、注册时的命令提示符等

但我无法加载符号文件进行调试

以前有人做过吗?大多数 "No Native Symbols" 的报告是针对 ASP 或 C++ 但不是针对 VFP

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

感谢任何提示。

No native symbols in symbol file

没错,C# class 库的符号文件没有任何 native 符号,只有托管符号。这是错误的,因为您 select 在工具 + 附加到进程对话框中输入了错误的调试引擎。单击 Select 按钮并勾选托管调试器。

更简单的方法是在 C# 项目中配置调试器。使用项目 + 属性,调试选项卡。 Select "Start external program" 单选按钮和 select VFP 可执行文件。现在您只需按 F5 即可开始调试。

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

如果我手动打开 VFP 然后将 VS 附加到它手动,我可以按时调试代码并且符号和断点可以正常工作,但是如果我从 VS2013 开始调试过程(通过 "Start External program" 它就不会工作