Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
TRACE32 as GDB Front-End
TRACE32 Online Help
TRACE32 Directory
TRACE32 Index
TRACE32 Documents ......................................................................................................................
GDB Support ..................................................................................................................................
TRACE32 as GDB Front-End ..................................................................................................... 1
History ...................................................................................................................................... 3
Introduction ............................................................................................................................. 4
Documentation Updates 4
Related Documents 5
Supported Architectures ........................................................................................................ 5
TRACE32 Setup ....................................................................................................................... 6
Configuration File 6
T32Start 6
Connection Setup .................................................................................................................... 7
Debugging Virtual Targets 7
Example: Connecting to QEMU 7
Protocol Extensions 8
GNU GDBserver 9
Connection Setup 10
Multi-Process Debugging 13
UndoDB Reversible Debugger 14
KGDB 15
Troubleshooting ...................................................................................................................... 16
GDB Front-End Commands .................................................................................................... 17
SYStem.CPU Select target CPU 17
SYStem.Mode Establish communication to debug agent 17
SYStem.CpuAccess Run-time memory access (intrusive) 18
SYStem.CpuBreak Master control to deny stopping the target (long stop) 18
SYStem.CpuSpot Master control to deny spotting the target (short stop) 19
SYStem.MemAccess Real-time memory access 20
SYStem.Option BigEndian Define byte order (endianness) 20
SYStem.Option DisMode Define disassembler mode 21
SYStem.Option MMUSPACES Separate address spaces by space IDs 21
SYStem.GDBconfig BREAKSOFT Use software breakpoint 22
SYStem.GDBconfig EXTENDED Enable/disable gdb extended mode 22
TRACE32 as GDB Front-End 1 ©1989-2020 Lauterbach GmbH
SYStem.GDBconfig GDBSERVER Remote target is a gdbserver 23
SYStem.GDBconfig INFERIORID Set inferior ID 23
SYStem.GDBconfig NONSTOP Enable/disable non-stop mode 23
SYStem.PORT Set communication settings 24
SYStem.GDBSIGnal Define signal handling 24
TASK.List.tasks List the running processes on the target 25
TASK.SELect Select a task for debugging 25
TASK.RUN Start a new process 25
TASK.KILL Kill a running process 25
TASK.Attach Attach to a running process 25
TASK.DETACH Detach from a running process 26
TASK.COPYUP Copy a file from the target into the host 26
TASK.COPYDOWN Copy a file from the host into the target 26
TASK.Go Start a single task 26
TASK.Break Stop a single task 26
Support ..................................................................................................................................... 27
Compiler 27
ARM 27
I386 28
MIPS 28
PPC 29
XScale 30
Products ................................................................................................................................... 31
Product Information 31
TRACE32 as GDB Front-End 2 ©1989-2020 Lauterbach GmbH
TRACE32 as GDB Front-End
Version 21-Feb-2020
History
15-Jan-19 Revised manual.
29-Nov-18 Added description for the new commands SYStem.GDBconfig BREAKSOFT and SYStem.GDBconfig INFERIORID.
TRACE32 as GDB Front-End 3 ©1989-2020 Lauterbach GmbH
Introduction
The TRACE32 GDB Front-End is a software debugger solution which communicates via Ethernet or RS232 with a gdbserver /gdbstub using the GDB Remote Serial Protocol (RSP).
The TRACE32 GDB Front-End can be used:
• To connect to the GNU gdbserver in order to debug Linux user-space processes.
• To debug the Linux kernel via KGDB.
• To connect to any kind of virtual target or debugger implementing a gdbstub (e.g. QEMU)
• As a front end for the UndoDB reversible debugger
The TRACE32 GDB Front-End operates in two different modes: Run Mode and Stop Mode.
Run Mode is used when debugging a Linux user-space process using the GNU gdbserver or the UndoDB target server. In this case, only the selected task is stopped when a breakpoint is hit. The kernel and all other processes continue to run. In Run Mode, a single program may have more than one unit of execution, called threads, that share one memory address space. Each thread has its own registers and execution stack. The debugger gets and displays the information about the running tasks from the gdbserver by using the dedicated Remote Serial Protocol packets.
On the other hand, multiple virtual targets (e.g. QEMU) support the GDB Remote Serial Protocol as a debugging protocol. In this case, we talk about Stop Mode debugging since the TRACE32 GDB Front-End controls the whole target system and not a single process. A breakpoint will thus cause the target system to stop completely. In order to support Symmetrical Multi-Processing (SMP) debugging over the GDB interface, the TRACE32 GDB Front-End considers each core from an SMP system as a thread of execution. Thus, all the RSP packets relative to the multi-thread handling are used for multi-core handling. Moreover, some virtual targets support different core clusters which are considered as GDB inferiors. The GDB packets for multi-process handling are used for this purpose.
Documentation Updates
The latest version of this document is available for download from: www.lauterbach.com/pdf/frontend_gdb.pdf
NOTE: Demo scripts for the TRACE32 GDB Front-End are available in the TRACE32 installation directory under ~~/demo/etc/gdb
TRACE32 as GDB Front-End 4 ©1989-2020 Lauterbach GmbH
Related Documents
• For information about using TRACE32 PowerView as a GDB Back-End, please refer to “TRACE32 as GDB Back-End” (backend_gdb.pdf).
• For information about Linux Integrated Run and Stop Mode Debugging, please refer to “Run Mode Debugging Manual Linux” (rtos_linux_run.pdf).
• For information about debugging virtual targets via interfaces other than GDB (e.g. MCD or CADI) please refer to “Virtual Targets User’s Guide” (virtual_targets.pdf).
Supported Architectures
The TRACE32 GDB Front-End is available for the following architectures:
• 68K/ColdFire
• 8051/XC800/M51
• ARM (32- and 64-bit)
• GTM
• Hexagon
• Intel x86/x86 64
• MIPS32/MIPS64
• NIOS-II
• PowerArchitecture (32- and 64-bit)
• RISC-V (32- and 64-bit)
• SuperH
• TriCore
• V850/RH850
• Xtensa
Other architectures can be supported on demand. Please send your request to [email protected]
TRACE32 as GDB Front-End 5 ©1989-2020 Lauterbach GmbH
TRACE32 Setup
Configuration File
To configure TRACE32 as GDB Front-End, you need to add the following lines to your TRACE32 configuration file. The default configuration file is config.t32 and is located in the TRACE32 system directory.
Example configuration for Windows:
For more information about the TRACE32 configuration, please refer to “Debugger Basics - Training” (training_debugger.pdf).
T32Start
In case you are using the t32start utility to start the TRACE32 GDB Front-End, you need to add a GDB Debugger to your configuration.
Please refer to the “T32Start” (app_t32start.fm) manual for more information about the t32start utility.
PBI=GDB<- mandatory empty line
<- mandatory empty line
PBI=GDB
SYS=C:\T32TMP=C:\Temp
SCREEN=FONT=SMALL
TRACE32 as GDB Front-End 6 ©1989-2020 Lauterbach GmbH
Connection Setup
This chapter describes the needed configurations in order to establish a debug communication between theTRACE32 GDB Front-End and the following targets:
• Virtual targets with QEMU as example
• GNU GDBserver
• UndoDB reversible febugger
• KGDB
Debugging Virtual Targets
Multiple virtual targets includes a gdbstub and can thus be debugged using the TRACE32 GDB Front-End. We describe in the following the needed steps to establish a debug communication with QEMU.
Example: Connecting to QEMU
The following steps are required to establish a debug connection with the QEMU emulator.
1. Start QEMU using the -gdb tcp::<port_number> command line option or -s for the default port number 1234.
2. Start TRACE32 as GDB Front-End.
3. Select the target CPU from the SYStem.state window or using the SYStem.CPU command
4. Define the communication parameters in TRACE32 using the SYStem.PORT command.
Example for localhost and default port number 1234:
5. Set the remote target type using the command SYStem.GDBconfig GDBSERVER OFF.
6. Establish the communication to the QEMU gdbstub using the SYStem.Mode Attach command
SYStem.CPU ZYNQ-ULTRASCALE+-APU
SYStem.PORT localhost:1234
SYStem.GDBconfig GDBSERVER OFF
SYStem.Mode Attach
TRACE32 as GDB Front-End 7 ©1989-2020 Lauterbach GmbH
Protocol Extensions
The Remote Serial Protocol does not provide a way to distinguish between different memory types. When the TRACE32 GDB Front-End is used in Stop Mode to debug a virtual target, the memory address is not always sufficient to identify a unique physical memory location. Depending on the access mode, the same memory address could refer to different physical memory locations (e.g. secure/non-secure memory for ARM architecture).
To overcome these limitations, Lauterbach has defined the following protocol extensions:
• A packet to read <length> addressable memory of type defined by <access_class> starting at address <address>.
• A packet to write <length> addressable memory of type defined by <access_class> starting at address <address>. The data is given by <values>; each byte is transmitted as a two-digit hexadecimal number.
If the TRACE32 software version implements this protocol extension, it should include the string ”qtrace32.memory+;Qtrace32.memory+” in the reply to the “qSupported” packet.
qtrace32.memory:<access_class>,<address>,<length>
Qtrace32.memory:<access_class>,<address>,<length>,<values>
The available access classes depend on the processor architecture in use. Therefore refer to the Access Class/Memory Class section of your Processor Architecture Manual for more details.
TRACE32 as GDB Front-End 8 ©1989-2020 Lauterbach GmbH
GNU GDBserver
The gdbserver can be started in one of two different modes:
1. Single-process mode, also called target remote mode. In this case, the program to debug has to be specified on the gdbserver command line, or the --attach command line option has to be used to attach to a running process by specifying its PID.
Example 1: Start the gdbserver to debug the process /bin/hello from the start:
Example 2: Attach to the running process with PID 123
2. Multi-process mode, also called target extended-remote mode. In this case, the gdbserver can be started without supplying an initial command to run or PID to attach. The --multi command line option has to be used.
Example:
In multi-process mode, the GDB extended mode has to be enabled. This can be configured in TRACE32 using the command SYStem.GDBconfig EXTENDED ON.
Moreover, GDB supports two different modes for debugging multi-threaded processes: Non-Stop Mode and All-Stop Mode.
In All-Stop Mode, all threads of execution stop when the program stops. In Non-Stop Mode it is possible to stop single threads while other threads continue to execute. You can select the mode in TRACE32 using the command SYStem.GDBconfig NONSTOP which is per default set to OFF.
For more information about the different command line options and debug modes, please refer to the gdbserver documentation.
gdbserver :2345 /bin/hello
gdbserver --attach :2345 123
gdbserver --multi :2345
TRACE32 as GDB Front-End 9 ©1989-2020 Lauterbach GmbH
Connection Setup
The following steps are required to establish the communication with the gdbserver:
1. Select the target CPU from the SYStem.state window or using the SYStem.CPU command.
2. Enable the address extension in TRACE32 PowerView using the command SYStem.Option MMUSPACES ON. This step is only required if the gdbserver has been started in multi-process mode.
3. Define the communication parameters in TRACE32 using the SYStem.PORT command.
Example for target IP address 192.168.188.50 and port number 2345:
4. Set the remote target type to gdbserver using the command SYStem.GDBconfig GDBSERVER ON. If this command is not used, the TRACE32 GDB Front-End tries to detect what kind of remote target is used.
5. Use software breakpoints for assembly single stepping. This is required if Linux-3.x or newer is running on the target.
6. Enable the Non-Stop mode if it is required to stop single threads.
7. If the gdbserver has been started in multi-process mode, the extended mode has to be enabled using the command SYStem.GDBconfig EXTENDED ON, otherwise TRACE32 will return the error “the target is not running”.
8. Establish the communication to the gdbserver using the SYStem.Mode Attach command:
SYStem.CPU CortexA9
SYStem.Option MMUSPACES ON
SYStem.PORT 192.168.188.50:2345
SYStem.GDBconfig GDBSERVER ON
SYStem.Option STEPSOFT ON
SYStem.GDBconfig NONSTOP ON
SYStem.Mode Attach
TRACE32 as GDB Front-End 10 ©1989-2020 Lauterbach GmbH
9. If the gdbserver has been started in multi-process mode, the commands TASK.RUN and TASK.Attach can be used to start a new process or attach to a running process.
Example:
10. Load the process debug symbols. In multi-process mode, the process space ID has to be specified.
Typical Start-up Script for the Single-Process Mode
; start the process helloTASK.RUN /usr/bin/hello
; attach to the process sieve with PID 123TASK.ATTACH 123.
; single-process modeData.LOAD.Elf sieve /NoCODE /NoClear
; multi-process mode (0x7b is the space ID of the process sieve)Data.LOAD.Elf sieve 0x7b:0 /NoCODE /NoClear
; Reset all commandsRESet
; Clear all TRACE32 PowerView windowsWinCLEAR
; Select the target CPUSYStem.CPU *
; Set the target IP address and port numberSYStem.PORT 192.168.188.50:2345
; Set the target type to “gdbserver”SYStem.GDBconfig GDBSERVER ON
; Use software breakpoints for assembly single steppingSYStem.Option STEPSOFT ON
; Attach to the gdbserver SYStem.Mode Attach
; Load the debug symbols of process "sieve" Data.LOAD.Elf sieve /NoCODE /NoClear
TRACE32 as GDB Front-End 11 ©1989-2020 Lauterbach GmbH
Typical Start-up Script for the Multi-Process Mode
; Reset all commandsRESet
; Clear all TRACE32 PowerView windowsWinCLEAR
; Select the target CPUSYStem.CPU *
; Set the target IP address and port numberSYStem.PORT 192.168.188.50:2345
; Set the target type to “gdbserver”SYStem.GDBconfig GDBSERVER ON
; Set the extended modeSYStem.GDBconfig EXTENDED ON
; Use software breakpoints for assembly single steppingSYStem.Option STEPSOFT ON
; Attach to the gdbserver SYStem.Mode Attach
; View the list of processesTASK.List.tasks
; Start process sieve, wait 1.s and read its space IDTASK.RUN /bin/sieveWAIT 1.s&spaceid=TASK.SPACEID("sieve")
; Load the debug symbols of process "sieve" Data.LOAD.Elf hello &spaceid:0 /NoCODE /NoClear
NOTE: The TRACE32 GDB Front-End for Intel x86 can be used together with the x86 gdbserver to debug native x86 Linux applications.
TRACE32 as GDB Front-End 12 ©1989-2020 Lauterbach GmbH
Multi-Process Debugging
Processes of Linux may reside virtually on the same addresses. To distinguish those addresses, the debugger uses an additional identifier called space ID (memory space ID) that specifies to which virtual memory space an address refers to. The space ID is equal to the process ID. Threads of a particular process use the same memory space. Consequently, threads of the same process have the same space ID.
The command SYStem.Option MMUSPACES ON enables the additional space ID.
A source code listing for the process sieve is displayed as follows:
A breakpoint to main in the process sieve can be set with one of the following commands:
Please be aware that process-specific breakpoints are set as soon as the process is started by Go.
Break.Set \\sieve\global\main
Break.Set 0x300:0x957C
Break.Set 786.:0x957C
Space ID
Space ID
TRACE32 as GDB Front-End 13 ©1989-2020 Lauterbach GmbH
UndoDB Reversible Debugger
The TRACE32 GDB Front-End can be used as a front end for the UndoDB reversible debugger. The UndoDB target server allows to debug a Linux user space application as well as to records details of its execution. In addition to controlling the debugging process, the TRACE32 GDB Front-End also takes over the task of displaying the recorded data of the UndoDB target server in the TRACE32 PowerView user interface. Like a trace recording, the user has the ability to debug the application going through the code both forward and backward (“reverse-debugging”).
The TRACE32 GDB Front-End automatically detects if it is communicating with an UndoDB target server and enables the reverse-debugging commands.
In reverse-debugging mode, all control buttons in the List window are displayed in yellow. In addition, the time of recording displayed in the TRACE32 PowerView state line is referenced in reverse.
Go.Back Go back in program
Go.BackEntry Go back in program to function entry
Step.Back Step back
Step.BackChange Step back till expression changes
Step.BackOver Step back over call
Step.BackTill Step back till expression is true
TRACE32 as GDB Front-End 14 ©1989-2020 Lauterbach GmbH
KGDB
The TRACE32 GDB Front-End supports debugging the Linux kernel using KGDB. Please note that it is only possible to debug the kernel space. Debugging the user-space as supported by the TRACE32 Stop Mode Debugging for Linux is not possible.
Example start-up script for Linux kernel debugging via KGDB:
The program execution can be stopped by writing ‘g’ to the file /proc/sysrq-trigger
; Reset all commandsRESet
; Clear all TRACE32 PowerView windowsWinCLEAR
; Select the CPUSYStem.CPU *
; Enable address extensionSYStem.Option MMUSPACES ON
; Set the communication parameter (serial port)SYStem.PORT COM1 baud=115200 KGDB
; Attach to the KGDB stub in the Linux kernelSYStem.Mode Attach
; Load the kernel symbols Data.LOAD.Elf vmlinux /GNU /NoCODE
; Load the Linux Awareness (e.g Linux-3.x. for ARM)TASK.CONFIG ~~/demo/arm/kernel/linux/linux-3.x/linux3.t32MENU.ReProgram ~~/demo/arm/kernel/linux/linux-3.x/linux.men
echo g > /proc/sysrq-trigger
TRACE32 as GDB Front-End 15 ©1989-2020 Lauterbach GmbH
Troubleshooting
No information available until yet.
TRACE32 as GDB Front-End 16 ©1989-2020 Lauterbach GmbH
GDB Front-End Commands
SYStem.CPU Select target CPU
Selects the processor type.
SYStem.Mode Establish communication to debug agent
Default: Down
Format: SYStem.CPU <type>
Format: SYStem.Mode <mode>
<mode>: DownNoDebugAttachUp
Down The TRACE32 GDB Front-End has no connection to the gdbserver / gdbstub. When switching from Up to Down, the TRACE32 GDB Front-End sends a GDB “kill” packet to the gdbserver / gdbstub.
NoDebug The TRACE32 GDB Front-End has no connection to the gdbserver / gdbstub.When switching from Up to NoDebug, the TRACE32 GDB Front-End detaches from the gdbserver / gdbstub.
Attach The TRACE32 GDB Front-End establishes the connection to gdbserver / gdbstub.
Up The TRACE32 GDB Front-End is connected to gdbserver / gdbstub.Up cannot be used to establish the connection.
TRACE32 as GDB Front-End 17 ©1989-2020 Lauterbach GmbH
SYStem.CpuAccess Run-time memory access (intrusive)
Default: Denied.
Configures how memory access is handled during run-time.
SYStem.CpuBreak Master control to deny stopping the target (long stop)
Default: Enable.
Format: SYStem.CpuAccess <sub_cmd> (deprecated)
<sub_cmd>: Enable (deprecated)Use SYStem.MemAccess StopAndGo instead.
Denied (deprecated)There is no need to use a successor command (default setting).
Nonstop (deprecated)Use SYStem.CpuBreak Denied instead.
Enable Allow intrusive run-time memory access.
Denied Lock intrusive run-time memory access.
Nonstop Lock all features of the debugger that affect the run-time behavior.
Format: SYStem.CpuBreak [<mode>]
<mode>: Enable | Denied
Enable Allows stopping the target.
Denied Denies stopping the target. This includes manual stops and stop breakpoints. However, short stops, such as spot breakpoints, may still be allowed.
SYStem.CpuBreak Denied can be used to protect a target system which does not tolerate that the program execution is stopped for an extended period of time.
TRACE32 as GDB Front-End 18 ©1989-2020 Lauterbach GmbH
SYStem.CpuSpot Master control to deny spotting the target (short stop)
Default: Enable.
Spotting is an intrusive way to transfer data periodically or on certain events from the target system to the debugger. As a result, the program is not running in real-time anymore. For more information, see SYStem.CpuBreak and SYStem.MemAccess.
Example:
Format: SYStem.CpuSpot [<mode>]
<mode>: Enable | Denied | Target | SINGLE
Enable Allows spotting the target.
Denied Denies spotting the target.Stopping the target may still be allowed.
Target Allows spotting the target controlled by the target.This allows target-stopped FDX and TERM communication.All other spots are denied.
SINGLE Allows single spots triggered by a command.This includes spotting for changing the breakpoint configuration and the SNOOPer.PC command.This setting also allows target-stopped FDX and TERM communication.All other spots are denied.
SYStem.CpuSpot DeniedBreak.Set main /Spot ; spot breakpoint results in an error message
TRACE32 as GDB Front-End 19 ©1989-2020 Lauterbach GmbH
SYStem.MemAccess Real-time memory access
Default: Denied
SYStem.Option BigEndian Define byte order (endianness)
Default: OFF.
This option selects the byte ordering mechanism.
Format: SYStem.MemAccess StopAndGo | Denied
StopAndGo Temporarily halts the core(s) to perform the memory access. Each stop takes some time depending on the speed of the JTAG port, the number of the assigned cores, and the operations that should be performed.
Denied Real-time memory access during program execution to target is disabled.
Format: SYStem.Option BigEndian [ON | OFF]
TRACE32 as GDB Front-End 20 ©1989-2020 Lauterbach GmbH
SYStem.Option DisMode Define disassembler mode
This command specifies the selected disassembler. Different options are available depending on the used architecture. Please refer to your Processor Architecture Manual for more details.
SYStem.Option MMUSPACES Separate address spaces by space IDs
Default: OFF.
Enables the use of space IDs for logical addresses to support multiple address spaces.
For an explanation of the TRACE32 concept of address spaces (zone spaces, MMU spaces, and machine spaces), see “TRACE32 Glossary” (glossary.pdf).
Format: SYStem.Option DisMode <option>
<option>: AUTO | ACCESS | <architecture specific option>
AUTO The information provided by the compiler output file is used for the disassembler selection. If no information is available, it has the same behavior as the option ACCESS.
ACCESS The selected disassembler depends on the status register. Please refer to your Processor Architecture Manual for more details.
Format: SYStem.Option MMUSPACES [ON | OFF]SYStem.Option MMUspaces [ON | OFF] (deprecated)SYStem.Option MMU [ON | OFF] (deprecated)
NOTE: SYStem.Option MMUSPACES should not be set to ON if only one translation table is used on the target.
If a debug session requires space IDs, you must observe the following sequence of steps:
1. Activate SYStem.Option MMUSPACES.
2. Load the symbols with Data.LOAD.
Otherwise, the internal symbol database of TRACE32 may become inconsistent.
TRACE32 as GDB Front-End 21 ©1989-2020 Lauterbach GmbH
Examples:
SYStem.GDBconfig BREAKSOFT Use software breakpoint
Default: OFF.
When set to ON, TRACE32 GDB Front-End sets breakpoints by patching the corresponding address by a breakpoint instruction instead of sending a "z/Z" RSP packet.
SYStem.GDBconfig EXTENDED Enable/disable gdb extended mode
Default: OFF.
When set to ON, this command enables the GDB extended mode which makes the remote server persistent. If the remote server is a gdbserver started in multi-process mode, the extended mode has to be enabled. Otherwise TRACE32 will return the error “the target is not running” when establishing the connection.
;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x012A:Data.dump D:0x012A:0xC00208A
;Dump logical address 0xC00208A belonging to memory space with ;space ID 0x0203:Data.dump D:0x0203:0xC00208A
Format: SYStem.GDBconfig BREAKSOFT ON | OFF
Format: SYStem.GDBconfig EXTENDED ON | OFFSYStem.Option gdbEXTENDED ON | OFF (deprecated)
TRACE32 as GDB Front-End 22 ©1989-2020 Lauterbach GmbH
SYStem.GDBconfig GDBSERVER Remote target is a gdbserver
Default: AUTO.
SYStem.GDBconfig INFERIORID Set inferior ID
Sets the inferior ID in case of multiple inferiors are supported by the gdbstub.
SYStem.GDBconfig NONSTOP Enable/disable non-stop mode
Default: OFF.
Enabling non-stop mode is only possible with gdbserver. Thus SYStem.GDBconfig NONSTOP ON will automatically set SYStem.GDBconfig GDBSERVER to ON.
Format: SYStem.GDBconfig GDBSERVER ON | OFF | AUTO
ON, OFF This option has to be set to ON if the TRACE32 GDB Front-End is connected to a GNU gdbserver. Otherwise set to OFF.
AUTO The default value is AUTO which means that the TRACE32 GDB Front-End tries to detect what kind of remote target is used.
Format: SYStem.GDBconfig INFERIORID <id>
Format: SYStem.GDBconfig NONSTOP ON | OFFSYStem.Option gdbNONSTOP ON | OFF (deprecated)
NOTE: Non-stop mode is supported for multi-thread debugging with the following known limitations: • Resuming from a breakpoint is not supported for non-current threads.• For the Intel x86/x64 architecture, if a non-current thread hits a break-
point, a program counter alignment issue could occur.Thus, it is always recommended to focus on debugging only one thread (current thread) at a given time.
TRACE32 as GDB Front-End 23 ©1989-2020 Lauterbach GmbH
SYStem.PORT Set communication settings
Sets the communication parameters. You can use a serial or a TCP communication.
SYStem.GDBSIGnal Define signal handling
Defines the gdbserver/TRACE32 behavior when the application sends the signal <signum>.
Format: SYStem.PORT <settings>
<settings>: <com> BAUD=<baudrate><host>:<port>
SYStem.PORT COM1 baud=9600
SYStem.PORT 10.1.2.99:2345
Format: SYStem.GDBSIGnal <mode> <signum>
<mode>: STOP | NOSTOP | PASS | NOPASS | PRINT | NOPRINT
<signum> Signal number
NOPASS Do not allow the program to see this signal.
NOPRINT No message is printed.
NOSTOP The signal is ignored and the application continue running.
PASS Allow the program to see this signal; the program can handle the signal, or else it may terminate if the signal is fatal and not handled.
PRINT A message is printed in the AREA window when the signal is received.
STOP The debugger should stop on this signal.
TRACE32 as GDB Front-End 24 ©1989-2020 Lauterbach GmbH
TASK.List.tasks List the running processes on the target
Only for multi-process mode. For more information about the command, see TASK.List.tasks in general_ref_t.pdf.
TASK.SELect Select a task for debugging
Selects a task for debugging. Only for multi-process mode.
TASK.RUN Start a new process
Starts a new process. Only for multi-process mode.
TASK.KILL Kill a running process
Kills a running process. Only for multi-process mode.
TASK.Attach Attach to a running process
Attaches to a running process. Only for multi-process mode.
Format: TASK.List.tasks
Format: TASK.SELect <id>
Format: TASK.RUN <process>
Format: TASK.KILL <id>
Format: TASK.Attach <pid>
TRACE32 as GDB Front-End 25 ©1989-2020 Lauterbach GmbH
TASK.DETACH Detach from a running process
Detaches from a running process. Only for multi-process mode.
TASK.COPYUP Copy a file from the target into the host
TASK.COPYDOWN Copy a file from the host into the target
TASK.Go Start a single task
Starts a single task. Only for multi-process mode.
TASK.Break Stop a single task
Stops a single task. Only for multi-process mode.
Format: TASK.DETACH <pid>
Format: TASK.COPYUP <target_file> <file>
Format: TASK.COPYDOWN <file> <target_file>
Format: TASK.Go <id>
Format: TASK.Break <id>
TRACE32 as GDB Front-End 26 ©1989-2020 Lauterbach GmbH
Support
Compiler
ARM
Language Compiler Company Option Comment
ADA GNAT PRO AdaCore ELF/DWARF not all ADA constructs/DWARF
C ARMCC ARM Ltd. AIFC ARMCC ARM Ltd. ELF/DWARFC REALVIEW-MDK ARM Ltd. ELF/DWARFC GCCARM GNU Compiler
CollectionCOFF/STABS
C GCCARM GNU Compiler Collection
ELF/DWARF
C GREENHILLS-C Greenhills Software Inc. ELF/DWARFC ICCARM IAR Systems AB ELF/DWARFC ICCV7-ARM Imagecraft Creations
Inc.ELF/DWARF ARM7
C CARM ARM Germany GmbH ELF/DWARFC HIGH-C Synopsys, Inc ELF/DWARFC TI-C Texas Instruments COFFC GNU-C Wind River Systems COFFC D-CC Wind River Systems ELFC++ ARM-SDT-2.50 ARM Ltd. ELF/DWARFC++ REALVIEW-MDK ARM Ltd. ELF/DWARFC++ GCCARM GNU Compiler
CollectionCOFF/STABS
C++ GNU GNU Compiler Collection
EXE/STABS
C++ GCCARM GNU Compiler Collection
ELF/DWARF
C++ GREENHILLS-C++ Greenhills Software Inc. ELF/DWARFC++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC/C++ GNAT PRO AdaCore ELF/DWARFC/C++ XCODE Apple Inc. Mach-OC/C++ GCC HighTec EDV-Systeme
GmbHELF/DWARF
C/C++ VX-ARM TASKING ELF/DWARF
TRACE32 as GDB Front-End 27 ©1989-2020 Lauterbach GmbH
I386
MIPS
Language Compiler Company Option Comment
C SCO-UNIX-CC COFFC GNU-C GNU Compiler
CollectionDBX
C GNU-C GNU Compiler Collection
ELF/DWARF
C GCC386 Greenhills Software Inc. COFFC IC386 Intel Corporation OMF-386C IC286 Intel Corporation OMF-286C MCC386 Mentor Graphics
CorporationEOMF-386
C MSVC-1.5 Microsoft Corporation EOMF-386 Pharlap ETSC MSVC Microsoft Corporation EXE/CVC MSVC Microsoft Corporation OMF-386/CV SSI Link386C MSVC/CSI Microsoft Corporation EOMF-386C HC386 Synopsys, Inc OMF386/SPFC HIGHC Synopsys, Inc ELF/DWARFC++ BORLAND-C Borland Software
CorporationEXE/BC5
C++ ORGANON CAD-UL ElectronicServices GmbH
OMF386++
C++ GNU-C++ GNU Compiler Collection
DBX
C++ MSVC Microsoft Corporation EXE/CV4C++ HC386 Synopsys, Inc OMF/SPFC++ HIGH-C++ Synopsys, Inc ELF/DWARF
Language Compiler Company Option Comment
C TCC TASKING IEEEC++ GCC GNU Compiler
CollectionELF/DWARF
C++ GREEN-HILLS-C++
Greenhills Software Inc. ELF/DWARF
C++ SDE Imagination Technologies
ELF/STABS
TRACE32 as GDB Front-End 28 ©1989-2020 Lauterbach GmbH
PPC
Language Compiler Company Option Comment
ADA GNAT PRO AdaCore ELF/DWARF not all ADA constructs/DWARF
ADA GNAT GNU Compiler Collection
ELF/DWARF
C CXPPC Cosmic Software ELF/DWARFC XCC-V GAIO Technology Co.,
Ltd.SAUF
C GREEN-HILLS-C Greenhills Software Inc. ELF/DWARFC MCCPPC Mentor Graphics
CorporationELF/DWARF
C CC NXP Semiconductors XCOFFC ULTRA-C Radisys Inc. ROFC HIGH-C Synopsys, Inc ELF/DWARFC DCPPC TASKING ELF/DWARFC D-CC Wind River Systems IEEEC D-CC Wind River Systems COFFC D-CC Wind River Systems ELF/DWARFC++ GCC GNU Compiler
CollectionELF/DWARF
C++ GREEN-HILLS-C++
Greenhills Software Inc. ELF/DWARF
C++ CCCPPC Mentor Graphics Corporation
ELF/DWARF
C++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC++ D-C++ Wind River Systems ELF/DWARFC++ GCCPPC Wind River Systems ELF/STABSC/C++ GNAT PRO AdaCore ELF/DWARFC/C++ GCC HighTec EDV-Systeme
GmbHELF/DWARF
C/C++ CODEWARRIOR NXP Semiconductors ELF/DWARFGCC GCC GNU Compiler
CollectionELF/DWARF
JAVA FASTJ Wind River Systems ELF/DWARF
TRACE32 as GDB Front-End 29 ©1989-2020 Lauterbach GmbH
XScale
Language Compiler Company Option Comment
C ARMCC ARM Ltd. AIFC ARMCC ARM Ltd. ELF/DWARFC GCCARM GNU Compiler
CollectionCOFF/STABS
C GCCARM GNU Compiler Collection
ELF/DWARF
C GREENHILLS-C Greenhills Software Inc. ELF/DWARFC ICCARM IAR Systems AB ELF/DWARFC HIGH-C Synopsys, Inc ELF/DWARFC TI-C Texas Instruments COFFC GNU-C Wind River Systems COFFC++ ARM-SDT-2.50 ARM Ltd. ELF/DWARFC++ GCCARM GNU Compiler
CollectionCOFF/STABS
C++ GNU GNU Compiler Collection
EXE/STABS
C++ GCCARM GNU Compiler Collection
ELF/DWARF
C++ GREENHILLS-C++ Greenhills Software Inc. ELF/DWARFC++ MSVC Microsoft Corporation EXE/CV5 WindowsCEC++ HIGH-C++ Synopsys, Inc ELF/DWARFC/C++ VX-ARM TASKING ELF/DWARF
TRACE32 as GDB Front-End 30 ©1989-2020 Lauterbach GmbH
Products
Product Information
OrderNo Code Text
LA-8890L FRONTEND-ARM-FL
1 User Floating License ARM Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-Endsupports ARM, Cortex and XScalefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8897L FRONTEND-HEXAGON-FL
1 User Floating License Hexagon Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server- TRACE32 Back-Endsupports the Hexagon architecturefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8893L FRONTEND-TC-FL
1 User Floating License TriCore Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-End such as XCP Debug Back-Endsupports TriCorefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8899L FRONTEND-X86-FL
1 User Floating License x86/x64 Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-Endsupports the x86/x64 architecturefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8904L FRONTEND-XTENSA-FL
1 User Floating License Xtensa Front-EndTRACE32 Front-End connecting to virtual target via MCD interfaceTRACE32 Front-End connecting to TRACE32 GTL Back-Endsupports Xtensafloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8903L FRONTEND-ARC-FL
1 User Floating License ARC Front-EndTRACE32 Front-End connecting tovirtual prototypes/simulators(Synopsys Virtualizer, nSIM ...) via MCD API or ARCINT APIsupports ARCfloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
TRACE32 as GDB Front-End 31 ©1989-2020 Lauterbach GmbH
LA-8905L FRONTEND-I8051-FL
1 User Floating License 8051 Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 GTL Debug Back-Endsupports 8051floating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8910L FRONTEND-RISC-V-FL
1 User Floating License RISC-V Front-EndTRACE32 Front-End connecting to- virtual target via MCD interface- third-party target server such as GDBsupports RISC-Vfloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8892L FRONTEND-PPC-FL
1 User Floating License PPC Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-Endsupports all PowerPCsfloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8898L FRONTEND-MIPS-FL
1 User Floating License MIPS Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB (MIPS32 only)- TRACE32 Back-Endsupports the MIPS architecturefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8906L FRONTEND-CEVAX-FL
1 User Floating License CEVA-X Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulator- TRACE32 Back-Endsupports CEVA-Xfloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
OrderNo Code Text
TRACE32 as GDB Front-End 32 ©1989-2020 Lauterbach GmbH
LA-8894L FRONTEND-TEAK-FL
1 User Floating License TeakLite Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-Endsupports OAK, Teak and Teaklitefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8889L FRONTEND-V850-FL
1 User Floating License V850/RH850 Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulators- third-party target server such as GDB- TRACE32 Back-Endsupports NEC V850 / Renesas RH850floating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8907L FRONTEND-GTM-FL
1 User Floating License GTM Front-EndTRACE32 Front-End connecting to- third-party virtual target/simulatorsupports GTM (MPC5xxx, RH850, TriCore)floating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8888L FRONTEND-68K-FL
1 User Floating License 68K Front-EndTRACE32 Front-End connecting to- third-party target server such as GDBsupports the 68K/ColdFire architecturefloating license via RLM (Reprise License Manager)Please add the RLM HostID of the license serverto your order (please see our FAQ)
LA-8902L MULTICORE-LICENSE-FL
1 User Floating License MulticoreAllows together with one TRACE32 Front-End license to use up to8 TRACE32 PowerView GUIs of the same processor architectureon the same host machine. Alternatively 2 identical TRACE32 Front-Endlicenses can be used.The up to 8 TRACE32 GUIs are assigned to a license pool. Allrequired TRACE32 Back-End, Trace and Integration licensesare added to the same license pool.
OrderNo Code Text
TRACE32 as GDB Front-End 33 ©1989-2020 Lauterbach GmbH