我有一个主应用程序(在 C# 中),它解析图像数据库,然后将这些图像通过管道传输到 C++ DLL 中以进行分析。现在出于某种原因,每 200 张左右的图像,它就会抛出一个错误。它并不总是在同一张图像上抛出错误,而只是在随机图像上抛出错误(有时一张图像通过分析,另一次它抛出错误)。
我能否以某种方式让我的 DLL 向 C# GUI 抛出异常,并提供有关 C++ 代码中错误来源的信息?代码本身应该可以正常运行,但我找不到错误的来源,因此我需要 DLL 的一些帮助来至少确定错误发生的位置。
任何帮助将不胜感激,到目前为止我没有找到任何帮助。
最佳答案
只需使用调试器进行诊断即可。使用项目 + 属性、调试选项卡启用非托管调试器,勾选“启用非托管代码调试”选项。
“它会引发错误”过于模糊,无法给出具体建议。但是您需要选中 Debug + Exceptions 对话框中的 Thrown 复选框。根据抛出的异常类型,勾选“C++ 异常”和/或“Win32 异常”。如果您不知道,请勾选所有这些。
关于c# - 调试底层 C++ DLL 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15821536/