找不到或打开PDB文件,调试本机代码

时间:2019-05-26 01:26:22

标签: c# c++ excel debugging

我运行的代码可以使用C#Automation成功注册Excel加载项,并通过C#层与C ++对话

// Tools -> Create GUID -> Register Format
namespace MyExcelAddins
{
    [ClassInterface(ClassInterfaceType.AutoDual), ComVisible(true)]
    [Guid("6F89542F-3DAC-471F-86DD-145F5E456968")]

    public class MyExcelFunctions : AddInRegistrator
    {
        [DllImport(@"C:\Users\Ilya\Documents\Visual Studio 2012\Projects\UnmanegedTester\x64\Debug\")]
        public static extern double AddNumbers(double a, double b);

        public double SampleAdd(double a, double b)
        {
            double res = AddNumbers(a, b);
            return res;
        }
    }
}

这是我的解决方案的视图,我从另一个目录添加了C ++项目。

solution explorer view

我能够调试C#代码,现在我想尝试调试C ++部分。我将C#项目的debug属性设置为

C# project debug properties

点击运行时,我得到的错误是

error when running

如果我取消选中“启用本机代码调试”,则不会出现错误,但当然不能调试C ++。我猜我在设置中缺少某些内容。请让我知道是否有人知道如何解决该问题。

如果继续调试,我可以在C#中命中断点,而在C ++中不能命中

enter image description here

1 个答案:

答案 0 :(得分:1)

该错误消息告诉您excel.exe没有调试符号,这并不奇怪,因为它是Microsoft程序。您可以继续调试,并且您的代码(应该具有调试信息)仍然可以调试。例如,您可以在将要由Excel调用的某些代码中设置一个断点,并且调试器将在到达断点时停止它。