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

Memory management 在Solaris上找到错误的内存访问,memory-management,solaris,valgrind,Memory Management,Solaris,Valgrind,在Linux、FreeBSD和其他系统上,我使用valgrind检查内存错误,如无效读取和类似错误。我真的很喜欢瓦尔格林。现在我必须在Solaris/OpenSolaris上测试代码,但找不到一种像valgrind那样好(或者更好;-)的方法来获取关于无效读写的信息 在网上搜索时,我找到了它的引用,但我只得到了关于内存泄漏的报告,而不是无效访问的报告。我缺少什么?是一个非常有用的库,可以为您的程序动态加载(通常不需要重新编译),然后在所有通常有问题的内存位置(如释放的区域或分配的内存块之后)设置

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

在网上搜索时,我找到了它的引用,但我只得到了关于内存泄漏的报告,而不是无效访问的报告。我缺少什么?

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


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

Sun Studio编译器附带的dbx在其“运行时检查”功能(检查子命令)中包含内存访问检查支持。见:

相关的“Sun内存错误发现工具”也可从

自3.11.0版以来,Valgrind确实在Solaris上运行。 见和

更准确地说,x86/Solarisamd64/Solaris现在受支持。
对sparc/Solaris的支持仍在工作中。

hm,我曾经去过那里,并放弃了它。。。现在正在玩bcheck包装器,并试图将其放入我的自动测试套件中。现在还有一个由学生制作的测试包,作为他们测试包的一部分。只需提及,您必须至少拥有Solaris 11。特别是,不支持Solaris 10.X。