Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Knowledge Base
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • embOS
  • J-Link GDB Plug-in
  • Editions
  • Technology
  • Supported Cores / Compiler
  • Tools

J-Link GDB
Plug-in

Most embedded systems nowadays make use of a real-time-operating system (RTOS). For these systems thread aware debugging is a very useful feature. J-Link GDB Server supports thread aware debugging via a plugin system.

Contact us
Downloads
Documentation
SEGGER embOS
  1. 1.Thread Aware Debugging
  2. 2.The GDB Server plugin interface
  3. 3.Which IDEs are supported for thread aware debugging?

Thread Aware Debugging

By default, when halting a target system in the debugger, the current registers (program counter, stackpointer etc.) as well as the current call-stack are shown. When running embOS, most of the time, the system will be in the Idle task. So the chance is fairly high that, when halting the system, it will be in Idle and not much information is gained by seeing the current registers and callstack.

Thread aware debugging specifies the capability of a debugger to show all existing tasks of embOS, running on the embedded system when the target system is halted by the debugger. It further allows to select a specific task in the IDE to show the current CPU registers as well as the call stack of that task.

GDBServer_RTOSPlugin_Screenshot

The GDB Server plugin interface

GDBServer_RTOSPlugin_Concept

By default, J-Link GDB Server does not know about the RTOS running on the target system and therefore it cannot provide thread specific information that would enable thread aware debugging. For this, an optional plugin for a specific target RTOS (a DLL under Windows or a shared library under Linux and macOS) can be specified to be loaded, when starting J-Link GDB Server. This way, when halting the target system, the debugger will request information about the number of threads that currently exist. As the plugin knows about the structure of the RTOS, it can provide this information to J-Link GDB Server whichen then can provide it to the IDE.

Which IDEs are supported for thread aware debugging?

In general, thread aware debugging should work with any Eclipse + GDB based environment that uses J-Link GDB Server for debugging. So far, it has been tested with the following IDEs:

  • NXP Kinetis Design Studio
  • Atollic TrueSTUDIO
  • ARM DS-5 Development Studio

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy
© 2025 SEGGER - All rights reserved.