如何以编程方式识别GDB中打印的线程ID

Hes*_*era 5 c++ eclipse linux gdb armv7

我正在尝试调试用c ++编写的应用程序,该应用程序是为运行linux的基于ARM的处理器编译的.

当应用程序间歇性崩溃时,它会在某个线程停止,我认为该线程是故障所在的位置(分段错误).

我的问题是,我无法识别这个线程是什么.我看到GDB运行时在eclipse中打印了以下内容.

有哪些数字用蓝色加下划线,有没有办法让我以编程方式访问它们,以便我知道在哪里查看代码?

在此输入图像描述

Wae*_*eCo 4

除了@Heshan Perera 的回答。

您还可以在程序中访问较大数字的线程 ID

UNIX:

#include <sys/syscall.h>
syscall(SYS_gettid);
Run Code Online (Sandbox Code Playgroud)

WINDOWS:(未测试)

#include <windows.h>
GetCurrentThreadId();
Run Code Online (Sandbox Code Playgroud)