mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-26 09:26:25 +08:00
Jenkins attach GDB and print back trace on failure
This commit is contained in:
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#! /bin/sh
|
||||
|
||||
if command -v gdb-multiarch &> /dev/null
|
||||
then
|
||||
GDB_CMD=$(command -v gdb-multiarch)
|
||||
|
||||
elif command -v arm-none-eabi-gdb &> /dev/null
|
||||
then
|
||||
GDB_CMD=$(command -v arm-none-eabi-gdb)
|
||||
|
||||
else
|
||||
echo "gdb arm-none-eabi or multi-arch not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
file ${1}
|
||||
|
||||
gdb_cmd_file=$(mktemp)
|
||||
|
||||
cat >"${gdb_cmd_file}" <<EOL
|
||||
|
||||
source ${WORKSPACE}/platforms/nuttx/Debug/NuttX
|
||||
source ${WORKSPACE}/platforms/nuttx/Debug/ARMv7M
|
||||
|
||||
target remote localhost:2331
|
||||
|
||||
monitor regs
|
||||
|
||||
showtasks
|
||||
|
||||
vecstate
|
||||
|
||||
info threads
|
||||
|
||||
backtrace
|
||||
|
||||
bt full
|
||||
|
||||
EOL
|
||||
|
||||
${GDB_CMD} -silent --nh --nx --nw -batch -x ${gdb_cmd_file} ${1}
|
||||
@@ -48,6 +48,18 @@ if(JLinkGDBServerCLExe_PATH)
|
||||
USES_TERMINAL
|
||||
)
|
||||
|
||||
# jlink_gdb_backtrace (attach, print current tasks, back trace, exit)
|
||||
add_custom_target(jlink_gdb_backtrace
|
||||
COMMAND ${PX4_BINARY_DIR}/jlink_gdb_start.sh
|
||||
COMMAND ${CMAKE_COMMAND} -E env WORKSPACE=${PX4_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Debug/jlink_gdb_backtrace.sh $<TARGET_FILE:px4>
|
||||
DEPENDS
|
||||
px4
|
||||
${PX4_BINARY_DIR}/jlink_gdb_start.sh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Debug/jlink_gdb_backtrace.sh
|
||||
WORKING_DIRECTORY ${PX4_BINARY_DIR}
|
||||
USES_TERMINAL
|
||||
)
|
||||
|
||||
|
||||
# jlink_upload_bootloader
|
||||
# board directory supplied bootloader.bin
|
||||
|
||||
Reference in New Issue
Block a user