社区
C++ 语言
帖子详情
如何使用valgrind定位服务器程序的内存泄露?
nkinuyasha
2014-02-15 07:20:29
有一个C++程序是常驻进程
如果通过valgrind讲程序拉起来以后,怎么退出这个进程来触发内存泄露检测啊
我通过kill -15不行
...全文
356
3
打赏
收藏
如何使用valgrind定位服务器程序的内存泄露?
有一个C++程序是常驻进程 如果通过valgrind讲程序拉起来以后,怎么退出这个进程来触发内存泄露检测啊 我通过kill -15不行
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
后坡
2014-03-28
打赏
举报
回复
可以在你的程序中注册信号处理函数 比如注册SIGTERM信号处理函数 //信号处理函数 void dosignal(int sig) { is_runing = false; } int main() { while(is_runing) { do XX } return } 可以执行kill -s SIGTERM pid 让进程主动退出。 当然也可以在信号处理函数中直接exit退出,看你情况 (我用的是linux,windows应该也有类似的机制)
jiandingzhe
2014-02-17
打赏
举报
回复
咩?没debug过这类程序。会有任何不同吗? 另外我都是运行的时候就带着valgrind跑啊。
赵4老师
2014-02-17
打赏
举报
回复
检查是否资源泄漏的办法之一: 在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象 让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
应用-
Valgrind
-发现-Linux-程序的内存问题.doc
应用-
Valgrind
-发现-Linux-程序的内存问题
Linux下
使用
valgrind
查找代码中的内存问题-简答案例代码
下载前务必阅读:https://blog.csdn.net/weixin_44584198/article/details/147197714 Linux下
使用
valgrind
查找代码中的内存问题
Linux下C语言程序内存泄漏的研究.pdf
Linux下C语言程序内存泄漏的研究.pdf
走下神坛的内存调试器--
定位
多线程内存越界问题实践总结[整理].pdf
走下神坛的内存调试器--
定位
多线程内存越界问题实践总结[整理].pdf
定位
多线程内存越界问题实践总结
最近
定位
了在一个多线程
服务器程序
(OceanBase MergeServer)中,一个线程非法篡改另一个线程的内存而导致程序core掉的问题。
定位
这个问题花了整整一周的时间,期间历经曲折,尝试了各种内存调试的办法。往往感觉就要柳暗花明了,却发现又进入了另一个死胡同。最后,
使用
强大的mprotect+backtrace+libsigsegv等工具成功
定位
了问题。整个
定位
过程遇到的问题和解决办法对于多线程内存越界问题都很典型,简单总结一下和大家分享。只对终极组合秘技感兴趣的同学,请直接阅读最后一节,其他的章节写到这里是为了科普。
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章