![]() |
1
6
非托管代码很少需要C的大量帮助才能开始生成访问冲突。您的p/invoke签名没有任何错误,这不是原因。 非托管代码中最常见的AVS源是堆损坏。C/C++代码没有垃圾收集器,必须显式地管理内存。它不仅要注意释放内存(否则会泄漏),还要负责分配正确的大小,并确保写入分配内存的代码不会超过分配内存块的末尾,也不会写入已释放的内存。最后一个要求是C/C++代码经常失败。 堆损坏的问题在于它非常难以诊断。它可能会在很长一段时间内被忽视。典型的损坏是内部堆结构受到破坏,或者另一个堆分配中的数据被覆盖。直到稍后释放堆块或使用覆盖的数据时,这才导致问题。产生异常的代码实际上并不负责先前所做的损坏。这会让你走上错误的道路,试图找到问题的根源。 找到真正的麻烦制造者是非常困难的,你只有几个面包屑来找出可能出了什么问题。当您有C/C++源代码时,它非常困难,但是用调试分配器在调试生成中运行它是有帮助的。没有源代码是不可能的。 除非您能够指出使用之前调用的API的问题,否则您需要供应商或支持组的帮助才能真正解决此问题。祝你好运。 |
![]() |
2
0
我也有同样的问题
见 this thread . |
![]() |
Jack · 使用python创建决策树 7 年前 |
![]() |
Chris · 强制两个节点之间的对角边 7 年前 |
![]() |
Kumpelka · 在Graphviz中使用子图时对齐节点 7 年前 |
![]() |
stklik · 带子图的graphviz三秩布局 7 年前 |
![]() |
Brent · 对齐Graphviz中的列 7 年前 |
![]() |
jtpereyda · 什么是有效的样式属性? 7 年前 |