从自定义工具生成 valgrind gdb 中断

generate a valgrind gdb break from custom tool

我写了一个自定义的 valgrind 工具。附加 gdb (-vgdb=yes) 我想在发现某个运行时条件时中断 gdb。是否有如何执行此操作的示例?

Is there an example howto do this?

我确定有:毕竟,Valgrind 在发现错误时会自行处理。所以你所要做的就是看看它是如何做到的。

看起来 coregrind/m_gdbserver/m_gdbserver.c call_gdbserverhelperc_CallDebugger 应该是一个好的开始。

原来是

 VG_(gdbserver)( VG_(get_running_tid)() );

成功了。它将进入远程目标循环。

工具可用的 API 都在包含文件中描述 位于 valgrind 顶部的 'include' 目录中 等级制度。包含文件名为 pub_tool_xxxxxxxxx.h.

在您的特定情况下,提供对 gdbserver 的访问权限的文件 功能是 pub_tool_gdbserver.h,其中 a.o。描述 extern void VG_(gdbserver) (ThreadId tid);