由买买提看人间百态

topics

全部话题 - 话题: valgrind
首页 上页 1 2 3 4 (共4页)
b********n
发帖数: 609
1
来自主题: Programming版 - Two classic C++ questions, how to answer
valgrind是最好用的,另外一些profiler也可以。

and
b******n
发帖数: 592
2
I had same issues before. It is very difficult to really test mutex.
valgrind may help. My solution was to mock mutexes, and hand craft 'senarios
' for testing. Then have a very long test with random executions.
b******n
发帖数: 592
3
越界这种情况,可以用valgrind. 变量名字起的有关一些,可以避免很多这样的问题。
这些都是程序的问题,compiler不会给你制造这种麻烦的。
b******n
发帖数: 592
4
来自主题: Programming版 - gvim 的问题
there is gdb, valgrind for those debug optimization jobs.
t****t
发帖数: 6806
5
你要学会读信息, 未初始化的内存本身没问题, 一开始分配的都没初始化, 但是如果输
出未初始化的值, 或者依靠未初始化的值跳转就会报错
22行的地方是你分配内存的地方. 59行才是使用这个值的地方.
t****t
发帖数: 6806
6
来自主题: Programming版 - c++里的函数可不可以是virtual+static
you may use a sanitizing tool for that specific purpose, such as valgrind.
but frankly, you better use it correctly, or don't use it at all.
y****e
发帖数: 23939
7
来自主题: Programming版 - 谁有这篇Valgrind的经典文献?
呵呵,谢谢。我真土啊!

doi=10.1.1.108.4263&rep=rep1&type=pdf
o**o
发帖数: 3964
8
来自主题: Programming版 - valgrind to trace memory crash?
this thing rarely helps.
r*********r
发帖数: 3195
9
来自主题: Programming版 - valgrind to trace memory crash?
very very helpful.
just learn to read the message.
a***y
发帖数: 2803
10
来自主题: Programming版 - valgrind to trace memory crash?
多半和指针数组有关,自己看看代码就能解决了.
j*******d
发帖数: 8834
11
来自主题: Programming版 - valgrind to trace memory crash?
seg fault如果是前面的code有memory corruption, gdb很难找地。
l*****o
发帖数: 473
12
来自主题: Programming版 - debug你们用哪个软件?
valgrind + gdb + printf
t****t
发帖数: 6806
13
来自主题: Programming版 - 求GCC高手
hehe, 我敢肯定99.999%是你们自己的错. O2的结果正确完全不能说明任何问题. 我建
议你用valgrind跑一次, 估计有一半机会找到uninitialized error.
t****t
发帖数: 6806
14
来自主题: Programming版 - 求GCC高手
valgrind is your friend.
b******n
发帖数: 592
15
来自主题: Programming版 - 专业c++程序员都用什么ide (转载)
Visual Studio
Eclipse
and the rest
I stick with Vim/gdb/valgrind, C++ programming is about 50% of my work.
r*********r
发帖数: 3195
16
来自主题: Programming版 - 专业c++程序员都用什么ide (转载)
xcode 不就是在 gcc, gdb 上加了一层GUI么,如果愿意,调试的时候甚至可以直接用
gdb 命令。
所谓的 IDE, 也不过就是编译器,调试器,再加个比vi/emacs烂一点的编辑器。
最多就是再加点 autocomplete, content management 之类的。
这些工具,一个一个分开用不好么。干嘛非得搞成 IDE 那么一大坨,难用死了。
像 visual studio 这样的垃圾,加个 scm 都很困难,再弄个 profiler 更是
难上加难。
学编程的,就是应该用linux 和命令行界面。至少搞清楚 gcc, gdb, nm, ldd, grep,
c++filt, valgrind, dtrace 这些常用的工具。就不会老是问一些低级问题,
什么链接库不行啦,内存泄漏啦,coredump啦,编译错误信息看不懂啦。
面试过很多号称做过大项目的人,结果基本概念一塌糊涂,好不尴尬。或者给个 ssh
login
做 coding test, 就立马完全抓瞎。都是给 IDE 惯坏了的。
c*******h
发帖数: 1096
17
来自主题: Programming版 - c里面有什么函数可以
试过getrusage,但是malloc前和malloc后的maxrss是一样的,不知问题在哪
试过valgrind,但是只能在一定频率的time_unit取到信息,没办法在任意语
句执行后取到信息
试过读/proc/self/stat,但是换到cluster上跑程序的时侯stat文件跟单机的
stat问题看着不一样,一堆数字不知道哪个才是我要的
有人也提议过重载new,自己算内存的实用。但是我还要用别人的library,
不可能把别人的code也重载一遍
苍天啊大地啊,谁告诉我一个work的方法吧
b******n
发帖数: 592
18
来自主题: Programming版 - Heap corruption (转载)
valgrind is your friend...
t****t
发帖数: 6806
19
来自主题: Programming版 - gdb with big core file
no this was not your question, your question was "why the core is so big",
and I answered that.
so you actually want to know "who (which line) and when memory is allocated,
with core file only", and that makes sense.
i would say it's very difficult, with core only. if memory is corrupted, i
would say it's impossible. gdb does not know the memory allocation data
structure, you need to check glibc -- and you must make sure which glibc
your client used.
i will suggest you run your code locally with... 阅读全帖
k****5
发帖数: 546
20
来自主题: Programming版 - 请教一道练习题(C,OS)
用valgrind 查一下。
t*****n
发帖数: 4908
21
来自主题: Programming版 - 请问这个C++程序有什么问题吗
b_a只活在{}里面吧。出了{}就不存在了。可以用valgrind之类的查查。好多代码分析
软件都可以查出来。
d**********x
发帖数: 4083
22
valgrind
d**********x
发帖数: 4083
23
valgrind
g**********t
发帖数: 475
24
用神器valgrind看一下有没有memory bugs,比如下标越界,使用未初试化的变量。
t****t
发帖数: 6806
c*******h
发帖数: 1096
26
来自主题: Programming版 - 有人发现最近valgrind有问题么?
no
那个我也看到了。看来不止我一个人碰到这个问题
d**********x
发帖数: 4083
27
来自主题: Programming版 - 看来你们是真心没做过web啊
99%的seg fault可以: 1. gdb,看stack trace 2.valgrind,grep到第一个越界读写
firebug调js,也有一部分是麻烦的逻辑错误,还要单步,研究逻辑...
d**********x
发帖数: 4083
28
来自主题: Programming版 - 看来你们是真心没做过web啊
....
我的意思是说,seg fault这种特别类型的bug,几乎不需要你单步去看逻辑,只要把
gdb跑上,重现就行了
或者gdb失灵的时候把valgrind跑上,重现就行了
memory bug其实没有那么难调。
d**********x
发帖数: 4083
29
来自主题: Programming版 - use abort() to generate coredump (转载)
1. use valgrind.
2. try harder to reproduce it, it's very important.
k**********g
发帖数: 989
30
来自主题: Programming版 - 怎么看process 用多少内存? (转载)

个G
valgrind
http://stackoverflow.com/questions/131303/linux-how-to-measure-
overloading operator new might also work, but might be unreliable (because
some libraries might also overload operator new.)
s*w
发帖数: 729
31
又琢磨了两天,看了不少相关东西,终于搞定了,觉得自己对这个多线程的理解加强了
很多。思考比单纯的看人说原理更刻骨铭心。
这个问题我设计的用一个 producer 多个 consumer 的架构,上个版本的是两头用
condition_variable, 一个通知 producer 有空间了开始干活生产,另一个通知
consumer 有库存了开始消费。参见上篇里面的 wait 和 notify_all,notify_one 语
句。 这个思路对于单 producer 单 consumer 没问题,可是不适用于 多 consumer.
因为所有的 consumer 可能同时睡觉(没空存),同时醒来(有库存),结果只有一个
能抢占mutex(拿到库存),其他的只好继续睡觉(while 循环 wait). 如果无限制的
生产下去,每个睡觉的都有机会醒来干活。可是在有限生产的情况下,producer 干完
活了后,总有睡觉的 consumer 无人唤醒导致死锁。解决的办法就是用 non-block
的 try_lock, lock 不上就返回 false,这样有机会检查是否需要(还在生产或是有
... 阅读全帖
t****t
发帖数: 6806
32
来自主题: Programming版 - C++ ofstream的一个诡异问题
别处出错了吧, 拿valgrind跑跑看.

ofs.
c*******y
发帖数: 1630
33
来自主题: Programming版 - C++ ofstream的一个诡异问题
thrust展开说说valgrind比gdb好的地方?? 谢谢
t****t
发帖数: 6806
34
来自主题: Programming版 - C++ ofstream的一个诡异问题
gdb告诉你问题爆发的地方
valgrind告诉你问题发生的地方
哪个好一目了然
当然, 如果你程序逻辑有问题, 比如+写成了-, 那什么都帮不了你.
f****4
发帖数: 1359
35
run valgrind
t****t
发帖数: 6806
36
你看错了, 再看一下.
OP贴的这部分代码没什么问题, 问题一定在别处. 拿valgrind跑跑看.
t****t
发帖数: 6806
37
来自主题: Programming版 - 求助调试c++程序
first run with valgrind.
then run with helgrind.
C********e
发帖数: 219
38
来自主题: Programming版 - 求助调试c++程序
valgrind显示了很多大概不相关的oracle occi里面的uninitialized vairable,
condition jump based on uninitialized variable什么的,都是oracle-
instantclient shared library里面的
我试试helgrind。
谢谢建议
t****t
发帖数: 6806
39
你这么做的目的是什么?
如果你需要每个new返回不同的值, 有现成的模拟器(valgrind这类的)可以帮你做到这
一点.
t****t
发帖数: 6806
40
不是说了valgrind吗? 要交钱的有purify...
N******K
发帖数: 10202
41
valgrind 不支持windows
f**********3
发帖数: 295
42
来自主题: Programming版 - 走了,你们慢聊
太正常了。Java好歹能告诉你哪行,C++真是只能慢慢找了,Valgrind也不能定位到具
体那行。
W***o
发帖数: 6519
43
来自主题: Programming版 - 感觉c挺有一丝的嘛
以前只是懂c的基本语法比如if, while....,没真正写过project, 连hello world都没
写过。
最近advanced OS上课需要写一个user level threads library,
在两周之内从学c到写完project,觉得pointer这东西太好使了,void pointer好像是
万能钥匙,全局的,指哪儿打哪儿。
回过头来看看,其实这个library也不难,就是先要造个scheduling engine控制流向,
再写一个queue data structure,然后就完了。最大的感触就是逻辑要清楚,pointer,
callback会用了就基本上能做出了,还有gdb, valgrind,vim是好工具,大牛
见效,谢谢帮助
c****3
发帖数: 10787
44
来自主题: Programming版 - C++确实不适合做大项目
这种code review绝对看不出。
size是根据其他几个变量算的,只是在某些特定情况,才会出现0-1的情况,代码看着
很正常,就是没有考虑会出现0-1这种特定情况。在一个7x24小时运行的服务器程序上
,上面有大量用户,但是发生概率是每隔几天才会出一次,有时几个星期也不发生。所
以基本没法用valgrind找越界。
t*****n
发帖数: 4908
45
内存泄漏这个级别太低了。valgrind跑跑就能找到。
w***g
发帖数: 5958
46
来自主题: Programming版 - 用vim/emacs相当于开手动车
是的。这个做之前得先用grep看看会不会出问题。vi没有refactor的功能,只能手写
regular expression。vi就是一个编辑器,虽然也有一些整合gdb之类的插件,但是我
觉得任何想用vi做超出编辑器功能范围的行为都是作死。emacs貌似什么事情都能做,
这个我不懂,不敢妄加评论。
我前两天发现qt-creator其实挺不错,也支持vi的大部分命令。但是是在不习惯写程序
时用鼠标,一时还没转过去。另一个原因是对我说来IDE added value确实不多。我就
是vi-make-运行-git这个循环,偶尔用用gdb和valgrind,有时需要反复做一个复杂操
作,也都用bash自动化了。不同的人干的活不一样,趁手的家伙也不一样,没必要强求
统一。qt-creator还是要推荐一下,前两天我吃饱了撑着从源代码编译了一个版本,发
现解决了几个用apt-get安装的版本里面的一些问题。前景还是挺看好的。
d****i
发帖数: 4809
47
看看阿里的技术大拿怎么客观看待开源和闭源的:
*************************************************
陈皓:关于开源和闭源软件我个人Naive的看法
对开源软件来个可能会引发争议的观点:对于绝大多数的软件产品来说,1)闭源的软
件产品的技术含量要比开源的要大得多。2)大多数的开源软件都在抄闭源的商用软件。
首先,我先表达一下开源软件的伟大,并向开源的人们致于我最真诚的敬意。但,即使
这样,我们也要很客观的承认大多数开源软件是存在大量问题的。就像我这个人主观上
并不喜欢微软和 IBM,但是我必需要承认,没有微软和 IBM,计算机这个行业不会有今
天这样的爆炸。(插曲:我 94 年上大学选的专业是计算机科学,当时很多人都觉得计
算机专业是一个 ZB 的专业,因为几乎没有哪个企业在用电脑,但我幸运的是 95 年的
时候微软出了 Win95,Sun 出了 Java,然后互联网极度膨胀,才导致我选的专业最终
变得很火)。
至于我说的这两句话,我知道是有争议的,尤其是我用了“抄”,在此请原谅我用词不
当,像从事开源的朋友道歉。这个“抄”其实是“模仿”的意... 阅读全帖
M**********n
发帖数: 432
48
来自主题: Programming版 - how to debug a hidden error
valgrind test

:Thank you very much. Is there a way to track when a unassigned variable
:being used?
M**********n
发帖数: 432
49
来自主题: Programming版 - how to debug a hidden error
valgrind test

:Thank you very much. Is there a way to track when a unassigned variable
:being used?
r*****8
发帖数: 2560
50
来自主题: Programming版 - C 语言,初学者问题(3)

各位,有人用过检测memory leak的软件吗?比如我故意分配些大空间 malloc(),
到程序结束故意不 free(),看看系统能不能收回去。
维基百科说到以下软件,有人用过吗,效果如何?
IBM Rational Purify, BoundsChecker, Valgrind, Parasoft Insure++, Dr. Memory
and memwatch are some of the more popular memory debuggers for C and C++
programs.
http://en.wikipedia.org/wiki/Memory_leak
首页 上页 1 2 3 4 (共4页)