gdb debug linux arm Qt

1. Verify that turned generation core

ulimit -c

If it is unlimited, or a specific number, it is open

If 0, then the core-files are closed, open command: ulimit -c unlimited or ulimit -c 33268

 

2. Obtain a core dump file, skip systemd, generated in the specified directory, such as the current executable file directory

sysctl -w 'kernel.core_pattern =% t-% e-% p-% c.core', of course, you can require administrator privileges

 

3. bt command to view

After generating xxxxx.core file, run

gdb  exe_file_name  xxxxx.core

Enter (gdb)

Enter bt view the location where the core dump

 

4. arm linux debugging examples:

gdb CT360 1568614925-RtPlotSurface-1256-4294967295.core

(Gdb) bt

#0  0xb6e95eae in CPP1Name::FUNCTION1(this=0x3aa860, start_tick=8, duration_tick=248) at CPP1Name.cpp:191
#1  0xb6e921f4 in CPP2Name::FUNCTION2(this=0xb6f54150 <SIGTON::GetInstance()::instance>, pdata_dest=0x294ab4, read_samp_size=31, ptick_time=0xae8e4e00) at CPP2Name.cpp:59
#2  0xb6f134fe in CPP3Name::FUNCTION3(this=0x293ff0) at CPP3Name.cpp:277
#3  0xb6f13058 in CPP4Name::run (this=0x293ff0) at CPP3Name.cpp:161
#4  0xb612bc0e in ?? () from /opt/Qt-arm-5.6.3/lib/libQt5Core.so.5
#5  0xb6071494 in start_thread (arg=0xbf0f8ed2) at pthread_create.c:458
#6  0xb5dfa1ac in ?? () at ../sysdeps/unix/sysv/linux/arm/clone.S:76 from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

 

Guess you like

Origin www.cnblogs.com/henryliublog/p/11527754.html