在我的项目中,我有调用malloc()的my_malloc().
我喜欢在gdb中设置条件断点,这样只有当malloc()的调用函数不等于my_mallc()时,gdb才会进入"gdb>".
可能吗?
目标是识别所有直接调用malloc()的代码,而不是通过my_malloc().
我喜欢在 gdb 中设置条件断点,这样只有当 malloc() 的调用者函数不等于 my_mallc() 时,gdb 才会闯入“gdb>”。
换句话说,您希望在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
Run Code Online (Sandbox Code Playgroud)
此技术仅适用于单线程应用程序。
| 归档时间: |
|
| 查看次数: |
508 次 |
| 最近记录: |