调试底层c++ DLL中的问题

本文关键字:问题 DLL c++ 调试 | 更新日期: 2023-09-27 18:07:32

我有一个主要的应用程序(在c#中),它解析图像数据库,然后将这些图像管道到一个c++ DLL中进行分析。现在由于某种原因,每200个图像左右,它抛出一个错误。它并不总是对同一图像抛出错误,而只是对随机图像抛出错误(有时图像通过分析,有时抛出错误)。

我能以某种方式使我的DLL抛出一个异常的c# GUI与信息在哪里在c++代码的错误来源?代码本身应该运行良好,我找不到错误来自哪里,所以我需要DLL的一些帮助来确定至少在哪里发生。

如果有任何帮助,我将不胜感激,到目前为止我没有找到任何关于

调试底层c++ DLL中的问题

使用调试器来诊断。使用Project + Properties, Debug选项卡启用非托管调试器,勾选"启用非托管代码调试"选项。

"它抛出一个错误"太模糊,无法给出具体的建议。但是您需要勾选Debug + Exceptions对话框中的Thrown复选框。根据抛出的异常类型,勾选"c++异常"和/或"Win32异常"。如果你不知道,那就把它们都打勾。

如果在调试时无法获得错误,请在c++ dll中写入输出您所在的函数。

例如,如果dll中有func1, func2, func3,那么每次进入和退出每个函数时都要写出它们的名称。当您运行程序时,您将能够将其缩小到导致异常的函数,然后您可以在函数的每行之后添加类似的输出,以查找抛出异常的代码。