在我的项目中,我有my_malloc(),将调用malloc()。
我喜欢在gdb中设置条件断点,这样只有当malloc()的调用者函数不等于my_mallc()时,gdb才会分解成“gdb>”。
可能吗?
目标是直接调用所有正在调用malloc()的代码,并且不通过my_malloc()。
我喜欢在gdb中设置条件断点,以便只有当malloc()的调用者函数不等于my_mallc()时,gdb才会分解为“gdb>”。
换句话说,当你不想被my_malloc
调用的时候,你想在malloc
my_malloc
。
一种方法是设置三个断点:一个在malloc
,一个在my_malloc
入口,一个在my_malloc
返回。 然后(假设断点分别是1,2和3)。
(gdb) commands 2 silent # don't announce hitting breakpoint #2 disable 1 # don't stop when malloc is called within my_malloc continue # continue execution when BP#2 is hit end (gdb) commands 3 silent enable 1 # re-enable malloc breakpoint continue end
此技术仅适用于单线程应用程序。