我们正在使用一个C#DLL插件,该插件对C ++主机EXE进行API调用,从而将错误写入Windows事件查看器。我想停止主机应用程序并/或在将其写入事件查看器时获取调用堆栈信息,因此我们可以将错误追溯到C#插件中的调用位置。在Visual Studio中调试时,如果主机EXE中发生错误,则C#插件中不会触发“异常中断”。
我们的代码中可能有该错误,但是底层的EXE除了发生了什么以外,没有提供任何信息,而是一个异常字符串。我们对EXE代码的可见性有限。旧的源代码和一些旧的PDB。我不确定我们拥有的PDB和源代码与使用我们的插件的已编译EXE中的代码相匹配的情况。
我一直在使用Visual Studio项目属性中的“启动外部程序”来调试程序。我们创建的DLL存储在公共程序集文件夹(不是GAC文件)中,供主机可执行文件使用。
这是在Windows 10上。