【问题标题】:What tools are available to detect heap corruption in .NET/C# program?有哪些工具可用于检测 .NET/C# 程序中的堆损坏?
【发布时间】:2011-11-20 05:46:17
【问题描述】:

我知道我可以使用 WinDbg+PageHeap+ApplicationVerifier - Microsoft 工具。

我读到有很多可用于 C++ 的工具,想知道 C# 是否存在类似的工具?

【问题讨论】:

    标签: c# debugging heap-corruption


    【解决方案1】:

    这些是您用来解决行为不当的本机代码的工具。访问违规、堆损坏、资源泄漏等等。由于安全代码和垃圾收集器的概念,这在纯托管代码中不会发生。如果您的托管项目中的本机代码依赖于行为不端的方式(例如致命的执行引擎错误),那么您仍然使用相同的工具。诊断它绝非易事。

    【讨论】:

    • 一个人?不会。线程竞争不会导致 .NET 中的堆损坏。
    • here 人们说托管代码会破坏堆。
    • 是的,当然,Marshal 类可以让你打破规则。这就是它的用途。如果您尚未扫描您的代码中的 Marshal、DllImport、unsafe 和 COM 引用,请务必向更了解代码库的团队成员寻求帮助。
    猜你喜欢
    • 2011-06-09
    • 2011-11-25
    • 2018-03-26
    • 1970-01-01
    • 2010-09-17
    • 2011-07-30
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多