代码之家  ›  专栏  ›  技术社区  ›  johannes

在Solaris上找到错误的内存访问

  •  7
  • johannes  · 技术社区  · 14 年前

    在Linux、FreeBSD和其他系统上,我使用valgrind检查内存错误,如无效读取和类似错误。我真的很喜欢瓦尔格林。现在我必须在Solaris/OpenSolaris上测试代码,但找不到一种方法以同样好的方式(或更好的;-)获取关于无效读/写的信息就像在那里一样。

    当在网上搜索时,我找到了 libumem

    3 回复  |  直到 11 年前
        2
  •  1
  •   alanc Volker Stolz    12 年前

    watchmalloc 是一个非常有用的库,可以为您的程序动态加载(通常不需要重新编译),然后在所有通常有问题的内存位置(如释放的区域或分配的内存块之后)设置观察点。 如果您的程序访问其中一个无效区域,它会收到一个信号,您可以在调试器中检查它。

    根据配置的不同,可以只监视有问题的区域的写操作,也可以监视读操作。

        3
  •  1
  •   ivosh    9 年前

    自3.11.0版以来,Valgrind确实在Solaris上运行。 Release Notes Supported Platforms

    更准确地说,, x86/Solaris 现在支持。 sparc/Solaris 仍在进行中。