crazypeople 2022-07-16 13:13
浏览 6
已结题

C#中 如何能够知道某个外部分配好的非托管内存ptr在我使用前是否已经被释放 ;

C#中 如何能够知道某个外部分配好的非托管内存ptr在我使用前是否已经被释放 ;

byte[] buffer = new byte[1024512];
Marshal.Copy(ptr,buffer,0,1024
512);
如果外部传进来的ptr被动态释放了,上面marshal.copy就会出错,几率很小,但是长期运行会出现。
因此想1、能够提前知道ptr是否被释放,做个保护 2、try catch不能捕获该异常 导致程序崩溃。

请给予帮助

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 7月24日
    • 创建了问题 7月16日