我用C#调用VC的DLL,点一个按钮,调用一个函数,
调用完之后,我去关闭这个应用程序,
这个时候弹出来个错误提示:Windows 已在 TestTitleAnalysis.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 TestTitleAnalysis.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 TestTitleAnalysis.exe 具有焦点时按下了 F12。
输出窗口可能提供了更多诊断信息。
这个问题的原因是什么呢?哪位知道告诉我一下,谢谢。

解决方案 »

  1.   

    C#中dll函数参数声明不正确,引起程序结束托管内存释放问题
    ps: 猜的,因为说道了堆被损坏问题
    ps: 看看你的函数及其C#中的声明
      

  2.   

    vc:int WINAPI LoadLayout( LPSTR v_file_name );c#:[DllImport("TitleAnalysis.dll")]
            extern static int LoadLayout(string v_file_name);这样不应该有问题吧
      

  3.   

    c#:[DllImport("TitleAnalysis.dll", CharSet = CharSet.Ansi)]
            extern static int LoadLayout(string v_file_name); 
    这样试试
      

  4.   

    问题解决了,不是c#声明的问题,还是dll内部的问题。