0

我正在使用 C++ 编写代码。这段代码被编译成一个 dll 文件,由 java 应用程序加载。调试时,我通常运行应用程序(来自 Eclipse)并附加到 Visual Studio 2017 中的 javaw.exe 进程。这工作了很长时间,直到我有了一台新计算机(与前一个具有相同的操作系统,Windows 10) )。在这台新计算机上,我使用相同的过程进行附加和调试,但随机收到警告,提示未加载符号并且不会命中断点。在这种情况下,我关闭应用程序,再次打开它,附加,一切正常。我不知道符号的确切位置以及问题所在,但不得不关闭并重新打开应用程序很烦人。关于此问题的可能原因以及如何解决的任何想法?

另外我不知道我可以提供哪些进一步的信息,但如果您能想到任何可能有帮助的信息,请询问。谢谢。

我知道关于加载符号和打断点有很多问题,但到目前为止我找不到解决我问题的答案。

4

1 回答 1

0

在“附加到进程”窗口(调试>>附加到进程)中,“附加到:”字段默认设置为“自动”。

在我的情况下,我正在调试本机代码,但有一些大项目的小部分处理导出到/从 excel 导入。因此,Visual Studio 有时(特别是当应用程序刚刚加载时)将我附加到的项目分类为 Native(在这种情况下断点工作正常),有时将我的项目识别为托管(在这种情况下它无法加载符号)。

因为我知道我一直在调试本机代码,所以我将“附加到:”字段更改为“本机”,现在它可以正常工作了。

于 2020-10-21T09:18:39.097 回答