The J-Link GDB Server is a remote server for the GDB which allows to use J-Link with GDB or any toolchain which uses GDB as debugging interface, such as Yagarto and Sourcery G++.
Mac hardware must be a 2010 or a newer model, with Intel’s hardware support for memory management unit (MMU) virtualization, including Extended Page Tables (EPT) and Unrestricted Mode. You can check to see if your machine has this support by running the following command in a terminal: sysctl kern.hvsupport. Download Links.: Lite version is completely FREE to download, use and redistribute. It also works as Professional version for the first 30 days. Download Affinic Debugger for Linux x86/x86-64 – Lite Version. Download Affinic Debugger for Windows – Lite Version. Download Affinic Debugger for Mac OS X – Lite Version.
The GDB and GDB Server communicate via a TCP/IP connection, using the standard GDB remote serial protocol.
GNU Project Debugger (GDB) Overview
J-Link GDB Server
The GDB supports a standard set of commands like open elf/bin files, reading/writing memory, etc. Beside this, the GDB also supports so called monitor commands which are passed to the GDB Server and interpreted by it, allowing it to implement J-Link specific commands like reading/writing CP15 registers, enabling flash download via J-Link, using Unlimited Flash Breakpoints, enabling semihosting, etc.
In general, the J-Link software and documentation package comes with two versions of the GDB Server: A GUI based one and a command-line version.
Download J-Link Software and Documentation Pack for Windows
Download J-Link Software and Documentation Pack for macOS
Download J-Link Software and Documentation Pack, Linux DEB installer, 64bit
Download J-Link Software and Documentation Pack, Linux RPM installer, 64bit
Download J-Link Software and Documentation Pack, Linux TGZ installer, 64bit
Download J-Link Software and Documentation Pack, Linux DEB installer, 32bit
Download J-Link Software and Documentation Pack, Linux RPM installer, 32bit
Download J-Link Software and Documentation Pack, Linux TGZ installer, 32bit
The GNU Project Debugger (GDB) is a freely available debugger, distributed under the terms of the GNU Public license (GPL). It connects to an emulator via a TCP/IP connection. It can connect to every emulator for which a GDB server software is available. The latest Unix version of the GDB is freely available from the GNU committee under: http://www.gnu.org/software/gdb/download/
Availability
J-Link GDB Server comes with cross-platform support and is available for Windows, Linux and Mac OS X.
Requirements
To use the J-Link GDB Server, you have to meet the following requirements:
J-Link / J-Trace for Cortex-M
Target hardware with supported CPU
Protocol Extensions
SWO support
GDB Server supports transfer of SWO data (terminal output, instrumentation trace, PC samples, etc.)
Supported Cores
J-Link GDB Server supports a variety of different cores and devices.
J-Link GDB Server (GUI Version)
The J-Link GDB Server's user interface shows information about the debugging process and allows the user to configure some settings like target endianess, if memory reads should be cached in order to improve performance or if a logfile shall be generated.
The command line version of J-Link GDB Server is a special version of the J-Link GDB Server which does not provide any GUI interface and has been especially developed for J-Link Linux & MAC support.
It basically provides the same features as the GUI Version of J-Link GDB Server. The command line version of the J-Link GDB Server is also available for Windows and comes with the regular J-Link software and documentation package.
Setting up the J-Link GDB Server
Typically, most of the GDB and target setup is done from GDB via remote commands (monitor) in the .gdbinit file. The commands used in the .gdbinit file are performed before the download of the application into the target memory is performed. This allows the user to perform initialization steps which might be necessary to enable the access to the target memory.
The .gdbinit file also allows to use download into flash memory via J-Link and Unlimited Flash Breakpoints. Nevertheless, some options need to be setup when starting the GDB Server (Target endianess, device name for devices which need a special connect sequence) since this information is needed to guarantee a proper target connection
Protocol Extension
SWO support
GDB Server supports transfer of SWO data (terminal output, instrumentation trace, PC samples, etc.)
GDB, the GNU Project debugger, allows you to see what is going on`inside' another program while it executes -- or what another programwas doing at the moment it crashed.
GDB can do four main kinds of things (plus other things in supportof these) to help you catch bugs in the act:
Start your program, specifying anything that might affect its behavior.
Make your program stop on specified conditions.
Examine what has happened, when your program has stopped.
Change things in your program, so you can experiment withcorrecting the effects of one bug and go on to learn about another.
Those programs might be executing on the same machine as GDB (native),on another machine (remote), or on a simulator. GDB can run on mostpopular UNIX and Microsoft Windows variants, as well as on Mac OS X.
What Languages does GDB Support?
GDB supports the following languages (in alphabetical order):
Ada
Assembly
C
C++
D
Fortran
Go
Objective-C
OpenCL
Modula-2
Pascal
Rust
GDB version 10.1
Version 10.1 of GDB, the GNUDebugger, is now available for download. See the ANNOUNCEMENT for detailsincluding changes in this release.
An errata list (PROBLEMS) and documentationare also available.
News
October 24th, 2020: GDB 10.1 Released!
The latest version of GDB, version 10.1, is available for download.
Gdb For Windows 10 Download
This version of GDB includes the following changes and enhancements:
Support for debugging new targets:
BPF (bpf-unknown-none)
GDBserver support for the following targets:
ARC GNU/Linux
RISC-V GNU/Linux
Multi-target debugging support (experimental)
Support for debuginfod, an HTTP server for distributing ELF/DWARF debugging information as well as source code.
Support for debugging a 32-bit Windows program using a 64-bit Windows GDB.
Support for building GDB with GNU Guile 3.0 and 2.2 (in addition to 2.0)
Improved performance during startup through the use of threading during symbol table loading (an optional feature in GDB 9, now enabled by default in GDB 10).
Various enhancements to the Python and Guile APIs
Various TUI Mode fixes and enhancements.
Other miscellaneous enhancements:
Detection when attaching to a process of a mismatch between this process and the executable previously loaded into GDB.
Support for default arguments for 'alias' commands.
GDBserver support for the following host triplets has been removed:
i[34567]86-*-lynxos*
powerpc-*-lynxos*
i[34567]86-*-nto*
bfin-*-*linux*
crisv32-*-linux*
cris-*-linux*
m32r*-*-linux*
tilegx-*-linux*
arm*-*-mingw32ce*
i[34567]86-*-mingw32ce*
See the NEWS file for a more complete and detailed list of what this release includes.
September 13th, 2020: GDB 10 branch created
The GDB 10 branch (gdb-10-branch) has been created.To check out a copy of the branch use:
May 23rd, 2020: GDB 9.2 Released!
The latest version of GDB, version 9.2, is available for download.
This is a minor corrective release over GDB 9.1, fixing the followingissues:
PR tui/25586 (Resizing the source/disassembly or command window produces corrupted display)
PR gdb/25650 (GDB can't 'printf' a convenience variable holding an inferior address)
PR build/25981 (Use of short i386 register names breaks compilation on recent Solaris 11.4)
PR symtab/26003 (infinite loop loading symbols from separate debug objfile)
PR build/26029 (GDB build failure on SPARC)
Nov 28, 2006: Reversible Debugging
The GDB maintainers are looking for contributors interestedin reversible debugging.
Late breaking information, such as recently added features, can befound in the NEWS file in the gdb source tree. Old announcements are in thenews archive.