对于地址清理器有一个类似的问题,但对于线程清理器,它不起作用,我试图打破 __sanitizer_print_stack_trace,它也不起作用。
问问题
567 次
1 回答
1
- 在 GDB 下运行程序,在
exit
和上设置断点_exit
。在 Linux 上,还设置catch syscall exit_group
. - 设置要求线程清理程序
halt_on_error=1
在第一个错误时退出:TSAN_OPTIONS
(gdb) set env TSAN_OPTIONS=halt_on_error=1
(gdb) run
... error should be reported and one of the breakpoints should fire.
- 利润。
PS 遇到断点的时候,用gdbwhere
命令看看是怎么报错的。__tsan_report_error
即使没有设置,在堆栈上可能会设置断点也可能会起作用halt_on_error
。
于 2020-09-19T17:44:04.370 回答