Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++/clr StructureToPtr退出应用程序,无任何异常或错误_C++_Clr - Fatal编程技术网

C++ c++/clr StructureToPtr退出应用程序,无任何异常或错误

C++ c++/clr StructureToPtr退出应用程序,无任何异常或错误,c++,clr,C++,Clr,我有一段代码将托管对象转换为非托管对象,如下所示 static void M2N(M managed, N* pNative){ Marshal::StructureToPtr(managed, IntPtr(pNative), true); }; 我的问题是,在对某个结构调用上述代码后,代码毫无例外地神秘退出,转换显然不成功(我已经尝试了其他结构,它可以工作) 我的问题是,如何至少生成一些异常,以便知道哪里出错了?您是否尝试了Try-Catch关键字?破坏堆栈帧将是

我有一段代码将托管对象转换为非托管对象,如下所示

 static void M2N(M managed, N* pNative){
        Marshal::StructureToPtr(managed, IntPtr(pNative), true);
    };
我的问题是,在对某个
结构调用上述代码后,代码毫无例外地神秘退出,转换显然不成功(我已经尝试了其他结构,它可以工作)


我的问题是,如何至少生成一些异常,以便知道哪里出错了?

您是否尝试了Try-Catch关键字?破坏堆栈帧将是触发此failfast退出的一个好方法。在“输出”窗口中查找进程退出代码。@HansPassant我在这里写了一个新问题,希望您能像我猜的那样查看一下堆栈缓冲区溢出。在本机代码中的sizeof(N)等于托管代码中的Marshal.sizeof(M)之前不要停止。分而治之,从一半已注释的字段开始,上上下下找到作恶者。嗨,谢谢。但是,本机代码中的sizeof(N)等于托管代码中的Marshal.sizeof(M)是什么意思,请您详细说明一下好吗?