Open huangblue opened 7 years ago
//codeblocks运行结果 会出现对话框,先说明程序运行出现问题,正在寻找解决问题方案。 后来说“出现了一个问题,导致程序停止正常工作。如果有可用的解决方案,Windows将关闭程序并通知你。”对话框用“关闭程序”的按钮。点击该按钮后,命令窗口出现下面的显示:
Process returned 255 (0xFF) execution time : 139.588 s Press any key to continue. 其中时间与什么时候点击该按钮有关。
//gcc命令行模式,与codeblocks 运行结果相同。
//运行版本 //此程序试图越界访问数组 //用于说明gdb的使用方法
int main (void) { const int data[5] = {1, 2, 3, 4, 5}; int i, sum; for (i = 0; i >= 0; ++i) sum += data[i]; printf ("sum = %i\n", sum); return 0; }
gdb名字猜想:g为gcc首字母,db为debug之略。
执行命令: gcc -o -g 18.4 18.4.c 得到的结果如下【空行是为了便于阅读加的】: 18.4:18.4.c:(.text+0x280): multiple definition of `_mingw32_init_mainargs'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.text+0x280): first defined here
18.4:18.4.c:(.text+0x2c0): multiple definition of `mainCRTStartup'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.text+0x2c0): first defined here
18.4:18.4.c:(.text+0x2e0): multiple definition of `WinMainCRTStartup'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.text+0x2e0): first defined here
18.4:18.4.c:(.text+0x300): multiple definition of `atexit'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.text+0x300): first defined here
18.4:18.4.c:(.text+0x310): multiple definition of `_onexit'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.text+0x310): first defined here
18.4:18.4.c:(.text+0x320): multiple definition of `__gcc_register_frame'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/crtbegin.o:(.text+0x0): first defined here
18.4:18.4.c:(.text+0x3d0): multiple definition of `__gcc_deregister_frame'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/crtbegin.o:(.text+0xb0): first defined here
18.4:18.4.c:(.bss+0x4): multiple definition of `_argc'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.bss+0x4): first defined here
18.4:18.4.c:(.bss+0x0): multiple definition of `_argv'
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/../../../crt2.o:(.bss+0x0): first defined here
C:\Users\hdf\AppData\Local\Temp\ccKc6jYQ.o:18.4.c:(.text+0x0): multiple definition of `main'
18.4:18.4.c:(.text+0x430): first defined here
c:/mingw/bin/../lib/gcc/mingw32/4.9.3/crtbegin.o:(.text+0x78): undefined reference to `_Jv_RegisterClasses'
collect2.exe: error: ld returned 1 exit status
之后执行命令: gdb 18.4.exe 得到结果如下【进入gdb状态】: GNU gdb (GDB) 7.6.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... 18.4.exe: No such file or directory. (gdb)
(gdb)下运行help的结果【空行是为了便于阅读加的】: List of classes of commands:
aliases -- Aliases of other commands
breakpoints -- Making program stop at certain points
data -- Examining data
files -- Specifying and examining files
internals -- Maintenance commands
obscure -- Obscure features
running -- Running the program
stack -- Examining the stack
status -- Status inquiries
support -- Support facilities
tracepoints -- Tracing of program execution without stopping the program
user-defined -- User-defined commands
Type "help" followed by a class name for a list of commands in that class.
Type "help all" for the list of all commands.
Type "help" followed by command name for full documentation.
Type "apropos word" to search for commands related to "word".
Command name abbreviations are allowed if unambiguous.
(gdb) help all
Command class: aliases
ni -- Step one instruction rc -- Continue program being debugged but run it in reverse rni -- Step backward one instruction rsi -- Step backward exactly one instruction si -- Step one instruction exactly stepping -- Specify single-stepping behavior at a tracepoint tp -- Set a tracepoint at specified line or function tty -- Set terminal for future runs of program being debugged where -- Print backtrace of all stack frames ws -- Specify single-stepping behavior at a tracepoint
Command class: breakpoints
awatch -- Set a watchpoint for an expression break -- Set breakpoint at specified line or function break-range -- Set a breakpoint for an address range catch -- Set catchpoints to catch events catch assert -- Catch failed Ada assertions catch catch -- Catch an exception catch exception -- Catch Ada exceptions catch exec -- Catch calls to exec catch fork -- Catch calls to fork catch load -- Catch loads of shared libraries catch signal -- Catch signals by their names and/or numbers catch syscall -- Catch system calls by their names and/or numbers catch throw -- Catch an exception catch unload -- Catch unloads of shared libraries catch vfork -- Catch calls to vfork clear -- Clear breakpoint at specified line or function commands -- Set commands to be executed when a breakpoint is hit condition -- Specify breakpoint number N to break only if COND is true delete -- Delete some breakpoints or auto-display expressions delete bookmark -- Delete a bookmark from the bookmark list delete breakpoints -- Delete some breakpoints or auto-display expressions delete display -- Cancel some expressions to be displayed when program stops delete mem -- Delete memory region delete tracepoints -- Delete specified tracepoints delete tvariable -- Delete one or more trace state variables disable -- Disable some breakpoints disable breakpoints -- Disable some breakpoints disable display -- Disable some expressions to be displayed when program stops disable mem -- Disable memory region disable tracepoints -- Disable specified tracepoints dprintf -- Set a dynamic printf at specified line or function enable -- Enable some breakpoints enable breakpoints -- Enable some breakpoints enable breakpoints count -- Enable breakpoints for COUNT hits enable breakpoints delete -- Enable breakpoints and delete when hit enable breakpoints once -- Enable breakpoints for one hit enable count -- Enable breakpoints for COUNT hits enable delete -- Enable breakpoints and delete when hit enable display -- Enable some expressions to be displayed when program stops enable mem -- Enable memory region enable once -- Enable breakpoints for one hit enable tracepoints -- Enable specified tracepoints ftrace -- Set a fast tracepoint at specified line or function hbreak -- Set a hardware assisted breakpoint ignore -- Set ignore-count of breakpoint number N to COUNT rbreak -- Set a breakpoint for all functions matching REGEXP rwatch -- Set a read watchpoint for an expression save -- Save breakpoint definitions as a script save breakpoints -- Save current breakpoint definitions as a script save gdb-index -- Save a gdb-index file save tracepoints -- Save current tracepoint definitions as a script skip -- Ignore a function while stepping skip delete -- Delete skip entries skip disable -- Disable skip entries skip enable -- Enable skip entries skip file -- Ignore a file while stepping skip function -- Ignore a function while stepping strace -- Set a static tracepoint at specified line tbreak -- Set a temporary breakpoint tcatch -- Set temporary catchpoints to catch events tcatch assert -- Catch failed Ada assertions tcatch catch -- Catch an exception tcatch exception -- Catch Ada exceptions tcatch exec -- Catch calls to exec tcatch fork -- Catch calls to fork tcatch load -- Catch loads of shared libraries tcatch signal -- Catch signals by their names and/or numbers tcatch syscall -- Catch system calls by their names and/or numbers tcatch throw -- Catch an exception tcatch unload -- Catch unloads of shared libraries tcatch vfork -- Catch calls to vfork thbreak -- Set a temporary hardware assisted breakpoint trace -- Set a tracepoint at specified line or function watch -- Set a watchpoint for an expression
Command class: data
agent-printf -- Agent-printf "printf format string"
append -- Append target code/data to a local file
append binary -- Append target code/data to a raw binary file
append binary memory -- Append contents of memory to a raw binary file
append binary value -- Append the value of an expression to a raw binary file
append memory -- Append contents of memory to a raw binary file
append value -- Append the value of an expression to a raw binary file
call -- Call a function in the program
disassemble -- Disassemble a specified section of memory
display -- Print value of expression EXP each time the program stops
dump -- Dump target code/data to a local file
dump binary -- Write target code/data to a raw binary file
dump binary memory -- Write contents of memory to a raw binary file
dump binary value -- Write the value of an expression to a raw binary file
dump ihex -- Write target code/data to an intel hex file
dump ihex memory -- Write contents of memory to an ihex file
dump ihex value -- Write the value of an expression to an ihex file
dump memory -- Write contents of memory to a raw binary file
dump srec -- Write target code/data to an srec file
dump srec memory -- Write contents of memory to an srec file
dump srec value -- Write the value of an expression to an srec file
dump tekhex -- Write target code/data to a tekhex file
dump tekhex memory -- Write contents of memory to a tekhex file
dump tekhex value -- Write the value of an expression to a tekhex file
dump value -- Write the value of an expression to a raw binary file
find -- Search memory for a sequence of bytes
init-if-undefined -- Initialize a convenience variable if necessary
mem -- Define attributes for memory region or reset memory region handling to
output -- Like "print" but don't put in value history and don't print newline
print -- Print value of expression EXP
print-object -- Ask an Objective-C object to print itself
printf -- Printf "printf format string"
ptype -- Print definition of type TYPE
restore -- Restore the contents of FILE to target memory
set -- Evaluate expression EXP and assign result to variable VAR
set ada -- Prefix command for changing Ada-specfic settings
set ada trust-PAD-over-XVS -- Enable or disable an optimization trusting PAD types over XVS types
set agent -- Set debugger's willingness to use agent as a helper
set annotate -- Set annotation_level
set architecture -- Set architecture of target
set args -- Set argument list to give program being debugged when it is started
set auto-load -- Auto-loading specific settings
set auto-load gdb-scripts -- Enable or disable auto-loading of canned sequences of commands scripts
set auto-load local-gdbinit -- Enable or disable auto-loading of .gdbinit script in current directory
set auto-load safe-path -- Set the list of files and directories that are safe for auto-loading
set auto-load scripts-directory -- Set the list of directories from which to load auto-loaded scripts
set auto-solib-add -- Set autoloading of shared library symbols
set backtrace -- Set backtrace specific variables
set backtrace limit -- Set an upper bound on the number of backtrace levels
set backtrace past-entry -- Set whether backtraces should continue past the entry point of a program
set backtrace past-main -- Set whether backtraces should continue past "main"
set basenames-may-differ -- Set whether a source file may have multiple base names
set breakpoint -- Breakpoint specific settings
set breakpoint always-inserted -- Set mode for inserting breakpoints
set breakpoint auto-hw -- Set automatic usage of hardware breakpoints
set breakpoint condition-evaluation -- Set mode of breakpoint condition evaluation
set breakpoint pending -- Set debugger's behavior regarding pending breakpoints
set can-use-hw-watchpoints -- Set debugger's willingness to use watchpoint hardware
set case-sensitive -- Set case sensitivity in name search
set charset -- Set the host and target character sets
set check -- Set the status of the type/range checker
set check range -- Set range checking
set check type -- Set strict type checking
set circular-trace-buffer -- Set target's use of circular trace buffer
set coerce-float-to-double -- Set coercion of floats to doubles when calling functions
set complaints -- Set max number of complaints about incorrect symbols
set confirm -- Set whether to confirm potentially dangerous operations
set cp-abi -- Set the ABI used for inspecting C++ objects
set data-directory -- Set GDB's data directory
set dcache -- Use this command to set number of lines in dcache and line-size
set dcache line-size -- Set dcache line size in bytes (must be power of 2)
set dcache size -- Set number of dcache lines
set debug -- Generic command for setting gdb debugging flags
set debug arch -- Set architecture debugging
set debug auto-load -- Set auto-load verifications debugging
set debug check-physname -- Set cross-checking of "physname" code against demangler
set debug coff-pe-read -- Set coff PE read debugging
set debug displaced -- Set displaced stepping debugging
set debug dwarf2-die -- Set debugging of the dwarf2 DIE reader
set debug dwarf2-read -- Set debugging of the dwarf2 reader
set debug entry-values -- Set entry values and tail call frames debugging
set debug expression -- Set expression debugging
set debug frame -- Set frame debugging
set debug infrun -- Set inferior debugging
set debug jit -- Set JIT debugging
set debug notification -- Set debugging of async remote notification
set debug observer -- Set observer debugging
set debug overload -- Set debugging of C++ overloading
set debug parser -- Set parser debugging
set debug record -- Set debugging of record/replay feature
set debug remote -- Set debugging of remote protocol
set debug serial -- Set serial debugging
set debug stap-expression -- Set SystemTap expression debugging
set debug symtab-create -- Set debugging of symbol table creation
set debug target -- Set target debugging
set debug timestamp -- Set timestamping of debugging messages
set debug xml -- Set XML parser debugging
set debug-file-directory -- Set the directories where separate debug symbols are searched for
set debugevents -- Set whether to display kernel events in child process
set debugexceptions -- Set whether to display kernel exceptions in child process
set debugexec -- Set whether to display execution in child process
set debugmemory -- Set whether to display memory accesses in child process
set debugvarobj -- Set varobj debugging
set default-collect -- Set the list of expressions to collect by default
set demangle-style -- Set the current C++ demangling style
set detach-on-fork -- Set whether gdb will detach the child of a fork
set directories -- Set the search path for finding source files
set disable-randomization -- Set disabling of debuggee's virtual address space randomization
set disassemble-next-line -- Set whether to disassemble next source line or insn when execution stops
set disassembly-flavor -- Set the disassembly flavor
set disconnected-dprintf -- Set whether dprintf continues after GDB disconnects
set disconnected-tracing -- Set whether tracing continues after GDB disconnects
set displaced-stepping -- Set debugger's willingness to use displaced stepping
set dprintf-channel -- Set the channel to use for dynamic printf
set dprintf-function -- Set the function to use for dynamic printf
set dprintf-style -- Set the style of usage for dynamic printf
set editing -- Set editing of command lines as they are typed
set endian -- Set endianness of target
set environment -- Set environment variable value to give the program
set exec-direction -- Set direction of execution
set exec-done-display -- Set notification of completion for asynchronous execution commands
set extension-language -- Set mapping between filename extension and source language
set filename-display -- Set how to display filenames
set follow-exec-mode -- Set debugger response to a program call of exec
set follow-fork-mode -- Set debugger response to a program call of fork or vfork
set gnutarget -- Set the current BFD target
set height -- Set number of lines in a page for GDB output pagination
set history -- Generic command for setting command history parameters
set history expansion -- Set history expansion on command input
set history filename -- Set the filename in which to record the command history
set history save -- Set saving of the history record on exit
set history size -- Set the size of the command history
set host-charset -- Set the host character set
set inferior-tty -- Set terminal for future runs of program being debugged
set input-radix -- Set default input radix for entering numbers
set interactive-mode -- Set whether GDB's standard input is a terminal
set language -- Set the current source language
set listsize -- Set number of source lines gdb will list by default
set logging -- Set logging options
set logging file -- Set the current logfile
set logging off -- Disable logging
set logging on -- Enable logging
set logging overwrite -- Set whether logging overwrites or appends to the log file
set logging redirect -- Set the logging output mode
set max-user-call-depth -- Set the max call depth for non-python user-defined commands
set may-insert-breakpoints -- Set permission to insert breakpoints in the target
set may-insert-fast-tracepoints -- Set permission to insert fast tracepoints in the target
set may-insert-tracepoints -- Set permission to insert tracepoints in the target
set may-interrupt -- Set permission to interrupt or signal the target
set may-write-memory -- Set permission to write into target memory
set may-write-registers -- Set permission to write into registers
set mem -- Memory regions settings
set mem inaccessible-by-default -- Set handling of unknown memory regions
set multiple-symbols -- Set the debugger behavior when more than one symbol are possible matches
set new-console -- Set creation of new console when creating child process
set new-group -- Set creation of new group when creating child process
set non-stop -- Set whether gdb controls the inferior in non-stop mode
set observer -- Set whether gdb controls the inferior in observer mode
set opaque-type-resolution -- Set resolution of opaque struct/class/union types (if set before loading symbols)
set osabi -- Set OS ABI of target
set output-radix -- Set default output radix for printing of values
set overload-resolution -- Set overload resolution in evaluating C++ functions
set pagination -- Set state of GDB output pagination
set print -- Generic command for setting how things print
set print address -- Set printing of addresses
set print array -- Set prettyprinting of arrays
set print array-indexes -- Set printing of array indexes
set print asm-demangle -- Set demangling of C++/ObjC names in disassembly listings
set print demangle -- Set demangling of encoded C++/ObjC names when displaying symbols
set print elements -- Set limit on string chars or array elements to print
set print entry-values -- Set printing of function arguments at function entry
set print frame-arguments -- Set printing of non-scalar frame arguments
set print inferior-events -- Set printing of inferior events (e.g.
set print max-symbolic-offset -- Set the largest offset that will be printed in <symbol+1234> form
set print null-stop -- Set printing of char arrays to stop at first null char
set print object -- Set printing of object's derived type based on vtable info
set print pascal_static-members -- Set printing of pascal static members
set print pretty -- Set prettyprinting of structures
set print repeats -- Set threshold for repeated print elements
set print sevenbit-strings -- Set printing of 8-bit characters in strings as \nnn
set print static-members -- Set printing of C++ static members
set print symbol -- Set printing of symbol names when printing pointers
set print symbol-filename -- Set printing of source filename and line number with P' (set-register) packet set remote TracepointSource-packet -- Set use of remote protocol
TracepointSource' (TracepointSource) packet
set remote X-packet -- Set use of remote protocol X' (binary-download) packet set remote Z-packet -- Set use of remote protocol
Z' packets
set remote access-watchpoint-packet -- Set use of remote protocol Z4' (access-watchpoint) packet set remote agent-packet -- Set use of remote protocol
QAgent' (agent) packet
set remote allow-packet -- Set use of remote protocol QAllow' (allow) packet set remote attach-packet -- Set use of remote protocol
vAttach' (attach) packet
set remote binary-download-packet -- Set use of remote protocol X' (binary-download) packet set remote breakpoint-commands-packet -- Set use of remote protocol
BreakpointCommands' (breakpoint-commands) packet
set remote conditional-breakpoints-packet -- Set use of remote protocol ConditionalBreakpoints' (conditional-breakpoints) packet set remote conditional-tracepoints-packet -- Set use of remote protocol
ConditionalTracepoints' (conditional-tracepoints) packet
set remote disable-btrace-packet -- Set use of remote protocol Qbtrace:off' (disable-btrace) packet set remote disable-randomization-packet -- Set use of remote protocol
QDisableRandomization' (disable-randomization) packet
set remote enable-btrace-packet -- Set use of remote protocol Qbtrace:bts' (enable-btrace) packet set remote exec-file -- Set the remote pathname for "run" set remote fast-tracepoints-packet -- Set use of remote protocol
FastTracepoints' (fast-tracepoints) packet
set remote fetch-register-packet -- Set use of remote protocol p' (fetch-register) packet set remote get-thread-information-block-address-packet -- Set use of remote protocol
qGetTIBAddr' (get-thread-information-block-address) packet
set remote get-thread-local-storage-address-packet -- Set use of remote protocol qGetTLSAddr' (get-thread-local-storage-address) packet set remote hardware-breakpoint-limit -- Set the maximum number of target hardware breakpoints set remote hardware-breakpoint-packet -- Set use of remote protocol
Z1' (hardware-breakpoint) packet
set remote hardware-watchpoint-length-limit -- Set the maximum length (in bytes) of a target hardware watchpoint
set remote hardware-watchpoint-limit -- Set the maximum number of target hardware watchpoints
set remote hostio-close-packet -- Set use of remote protocol vFile:close' (hostio-close) packet set remote hostio-open-packet -- Set use of remote protocol
vFile:open' (hostio-open) packet
set remote hostio-pread-packet -- Set use of remote protocol vFile:pread' (hostio-pread) packet set remote hostio-pwrite-packet -- Set use of remote protocol
vFile:pwrite' (hostio-pwrite) packet
set remote hostio-readlink-packet -- Set use of remote protocol vFile:readlink' (hostio-readlink) packet set remote hostio-unlink-packet -- Set use of remote protocol
vFile:unlink' (hostio-unlink) packet
set remote install-in-trace-packet -- Set use of remote protocol InstallInTrace' (install-in-trace) packet set remote interrupt-on-connect -- Set whether interrupt-sequence is sent to remote target when gdb connects to set remote interrupt-sequence -- Set interrupt sequence to remote target set remote kill-packet -- Set use of remote protocol
vKill' (kill) packet
set remote library-info-packet -- Set use of remote protocol qXfer:libraries:read' (library-info) packet set remote library-info-svr4-packet -- Set use of remote protocol
qXfer:libraries-svr4:read' (library-info-svr4) packet
set remote memory-map-packet -- Set use of remote protocol qXfer:memory-map:read' (memory-map) packet set remote memory-read-packet-size -- Set the maximum number of bytes per memory-read packet set remote memory-write-packet-size -- Set the maximum number of bytes per memory-write packet set remote noack-packet -- Set use of remote protocol
QStartNoAckMode' (noack) packet
set remote osdata-packet -- Set use of remote protocol qXfer:osdata:read' (osdata) packet set remote p-packet -- Set use of remote protocol
p' (fetch-register) packet
set remote pass-signals-packet -- Set use of remote protocol QPassSignals' (pass-signals) packet set remote program-signals-packet -- Set use of remote protocol
QProgramSignals' (program-signals) packet
set remote query-attached-packet -- Set use of remote protocol qAttached' (query-attached) packet set remote read-aux-vector-packet -- Set use of remote protocol
qXfer:auxv:read' (read-aux-vector) packet
set remote read-btrace-packet -- Set use of remote protocol qXfer:btrace' (read-btrace) packet set remote read-fdpic-loadmap-packet -- Set use of remote protocol
qXfer:fdpic:read' (read-fdpic-loadmap) packet
set remote read-sdata-object-packet -- Set use of remote protocol qXfer:statictrace:read' (read-sdata-object) packet set remote read-siginfo-object-packet -- Set use of remote protocol
qXfer:siginfo:read' (read-siginfo-object) packet
set remote read-spu-object-packet -- Set use of remote protocol qXfer:spu:read' (read-spu-object) packet set remote read-watchpoint-packet -- Set use of remote protocol
Z3' (read-watchpoint) packet
set remote reverse-continue-packet -- Set use of remote protocol bc' (reverse-continue) packet set remote reverse-step-packet -- Set use of remote protocol
bs' (reverse-step) packet
set remote run-packet -- Set use of remote protocol vRun' (run) packet set remote search-memory-packet -- Set use of remote protocol
qSearch:memory' (search-memory) packet
set remote set-register-packet -- Set use of remote protocol P' (set-register) packet set remote software-breakpoint-packet -- Set use of remote protocol
Z0' (software-breakpoint) packet
set remote static-tracepoints-packet -- Set use of remote protocol StaticTracepoints' (static-tracepoints) packet set remote supported-packets-packet -- Set use of remote protocol
qSupported' (supported-packets) packet
set remote symbol-lookup-packet -- Set use of remote protocol qSymbol' (symbol-lookup) packet set remote system-call-allowed -- Set if the host system(3) call is allowed for the target set remote target-features-packet -- Set use of remote protocol
qXfer:features:read' (target-features) packet
set remote threads-packet -- Set use of remote protocol qXfer:threads:read' (threads) packet set remote trace-buffer-size-packet -- Set use of remote protocol
QTBuffer:size' (trace-buffer-size) packet
set remote traceframe-info-packet -- Set use of remote protocol qXfer:trace-frame-info:read' (traceframe-info) packet set remote unwind-info-block-packet -- Set use of remote protocol
qXfer:uib:read' (unwind-info-block) packet
set remote verbose-resume-packet -- Set use of remote protocol vCont' (verbose-resume) packet set remote write-siginfo-object-packet -- Set use of remote protocol
qXfer:siginfo:write' (write-siginfo-object) packet
set remote write-spu-object-packet -- Set use of remote protocol qXfer:spu:write' (write-spu-object) packet set remote write-watchpoint-packet -- Set use of remote protocol
Z2' (write-watchpoint) packet
set remoteaddresssize -- Set the maximum size of the address (in bits) in a memory packet
set remotebaud -- Set baud rate for remote serial I/O
set remotebreak -- Set whether to send break if interrupted
set remotecache -- Set cache use for remote targets
set remotelogbase -- Set numerical base for remote session logging
set remotelogfile -- Set filename for remote session recording
set remotetimeout -- Set timeout limit to wait for target to respond
set remotewritesize -- Set the maximum number of bytes per memory write packet (deprecated)
set schedule-multiple -- Set mode for resuming threads of all processes
set scheduler-locking -- Set mode for locking scheduler during execution
set script-extension -- Set mode for script filename extension recognition
set serial -- Set default serial/parallel port configuration
set solib-absolute-prefix -- Set an alternate system root
set solib-search-path -- Set the search path for loading non-absolute shared library symbol files
set stack-cache -- Set cache use for stack access
set step-mode -- Set mode of the step operation
set stop-on-solib-events -- Set stopping for shared library events
set struct-convention -- Set the convention for returning small structs
set substitute-path -- Usage: set substitute-path FROM TO
set sysroot -- Set an alternate system root
set target-async -- Set whether gdb controls the inferior in asynchronous mode
set target-charset -- Set the target character set
set target-file-system-kind -- Set assumed file system kind for target reported file names
set target-wide-charset -- Set the target wide character set
set tcp -- TCP protocol specific variables
set tcp auto-retry -- Set auto-retry on socket connect
set tcp connect-timeout -- Set timeout limit for socket connection
set tdesc -- Set target description specific variables
set tdesc filename -- Set the file to read for an XML target description
set trace-buffer-size -- Set requested size of trace buffer
set trace-commands -- Set tracing of GDB CLI commands
set trace-notes -- Set notes string to use for current and future trace runs
set trace-stop-notes -- Set notes string to use for future tstop commands
set trace-user -- Set the user name to use for current and future trace runs
set trust-readonly-sections -- Set mode for reading from readonly sections
set unwind-on-terminating-exception -- Set unwinding of stack if std::terminate is called while in call dummy
set unwindonsignal -- Set unwinding of stack if a signal is received while in a call dummy
set use-deprecated-index-sections -- Set whether to use deprecated gdb_index sections
set variable -- Evaluate expression EXP and assign result to variable VAR
set verbose -- Set verbosity
set watchdog -- Set watchdog timer
set width -- Set number of characters where GDB should wrap lines of its output
set write -- Set writing into executable and core files
undisplay -- Cancel some expressions to be displayed when program stops
whatis -- Print data type of expression EXP
x -- Examine memory: x/FMT ADDRESS
Command class: files
add-symbol-file -- Load symbols from FILE cd -- Set working directory to DIR for debugger and program being debugged core-file -- Use FILE as core dump for examining memory and registers directory -- Add directory DIR to beginning of search path for source files dll-symbols -- Load dll library symbols from FILE edit -- Edit specified file or function exec-file -- Use FILE as program for getting contents of pure memory file -- Use FILE as program to be debugged forward-search -- Search for regular expression (see regex(3)) from last line listed generate-core-file -- Save a core file with the current state of the debugged process list -- List specified function or line load -- Dynamically load FILE into the running program nosharedlibrary -- Unload all shared object library symbols path -- Add directory DIR(s) to beginning of search path for object files pwd -- Print working directory remote -- Manipulate files on the remote system remote delete -- Delete a remote file remote get -- Copy a remote file to the local system remote put -- Copy a local file to the remote system reverse-search -- Search backward for regular expression (see regex(3)) from last line listed search -- Search for regular expression (see regex(3)) from last line listed section -- Change the base address of section SECTION of the exec file to ADDR sharedlibrary -- Load shared object library symbols for files matching REGEXP symbol-file -- Load symbol table from executable file FILE
Command class: internals
flushregs -- Force gdb to flush its register cache (maintainer command)
maintenance -- Commands for use by GDB maintainers
maintenance agent -- Translate an expression into remote agent bytecode for tracing
maintenance agent-eval -- Translate an expression into remote agent bytecode for evaluation
maintenance agent-printf -- Translate an expression into remote agent bytecode for evaluation and display the bytecodes
maintenance check-symtabs -- Check consistency of psymtabs and symtabs
maintenance cplus -- C++ maintenance commands
maintenance cplus first_component -- Print the first class/namespace component of NAME
maintenance cplus namespace -- Deprecated placeholder for removed functionality
maintenance demangle -- Demangle a C++/ObjC mangled name
maintenance deprecate -- Deprecate a command
maintenance info -- Commands for showing internal info about the program being debugged
maintenance info bfds -- List the BFDs that are currently open
maintenance info breakpoints -- Status of all breakpoints
maintenance info program-spaces -- Info about currently known program spaces
maintenance info psymtabs -- List the partial symbol tables for all object files
maintenance info sections -- List the BFD sections of the exec and core files
maintenance info symtabs -- List the full symbol tables for all object files
maintenance internal-error -- Give GDB an internal error
maintenance internal-warning -- Give GDB an internal warning
maintenance packet -- Send an arbitrary packet to a remote target
maintenance print -- Maintenance command for printing GDB internal state
maintenance print architecture -- Print the internal architecture configuration
maintenance print c-tdesc -- Print the current target description as a C source file
maintenance print cooked-registers -- Print the internal register configuration including cooked values
maintenance print dummy-frames -- Print the contents of the internal dummy-frame stack
maintenance print msymbols -- Print dump of current minimal symbol definitions
maintenance print objfiles -- Print dump of current object file definitions
maintenance print psymbols -- Print dump of current partial symbol definitions
maintenance print raw-registers -- Print the internal register configuration including raw values
maintenance print reggroups -- Print the internal register group names
maintenance print register-groups -- Print the internal register configuration including each register's group
maintenance print registers -- Print the internal register configuration
maintenance print remote-registers -- Print the internal register configuration including each register's
maintenance print statistics -- Print statistics about internal gdb state
maintenance print symbols -- Print dump of current symbol definitions
maintenance print target-stack -- Print the name of each layer of the internal target stack
maintenance print type -- Print a type chain for a given symbol
maintenance set -- Set GDB internal variables used by the GDB maintainer
maintenance set dwarf2 -- Set DWARF 2 specific variables
maintenance set dwarf2 always-disassemble -- Set whether info address' always disassembles DWARF expressions maintenance set dwarf2 max-cache-age -- Set the upper bound on the age of cached dwarf2 compilation units maintenance set internal-error -- Configure what GDB does when internal-error is detected maintenance set internal-error corefile -- Set whether GDB should create a core file of GDB when internal-error is detected maintenance set internal-error quit -- Set whether GDB should quit when an internal-error is detected maintenance set internal-warning -- Configure what GDB does when internal-warning is detected maintenance set internal-warning corefile -- Set whether GDB should create a core file of GDB when internal-warning is detected maintenance set internal-warning quit -- Set whether GDB should quit when an internal-warning is detected maintenance set profile -- Set internal profiling maintenance set show-all-tib -- Set whether to display all non-zero fields of thread information block maintenance set show-debug-regs -- Set whether to show variables that mirror the x86 debug registers maintenance show -- Show GDB internal variables used by the GDB maintainer maintenance show dwarf2 -- Show DWARF 2 specific variables maintenance show dwarf2 always-disassemble -- Show whether
info address' always disassembles DWARF expressions
maintenance show dwarf2 max-cache-age -- Show the upper bound on the age of cached dwarf2 compilation units
maintenance show internal-error -- Show what GDB does when internal-error is detected
maintenance show internal-error corefile -- Show whether GDB will create a core file of GDB when internal-error is detected
maintenance show internal-error quit -- Show whether GDB will quit when an internal-error is detected
maintenance show internal-warning -- Show what GDB does when internal-warning is detected
maintenance show internal-warning corefile -- Show whether GDB will create a core file of GDB when internal-warning is detected
maintenance show internal-warning quit -- Show whether GDB will quit when an internal-warning is detected
maintenance show profile -- Show internal profiling
maintenance show show-all-tib -- Show whether to display all non-zero fields of thread information block
maintenance show show-debug-regs -- Show whether to show variables that mirror the x86 debug registers
maintenance space -- Set the display of space usage
maintenance time -- Set the display of time usage
maintenance translate-address -- Translate a section name and address to a symbol
maintenance undeprecate -- Undeprecate a command
Command class: obscure
compare-sections -- Compare section data on target to the exec file complete -- List the completions for the rest of the line as a command monitor -- Send a command to the remote monitor (remote targets only) python -- Evaluate a Python command python-interactive -- Start a Python interactive prompt record -- Start recording record btrace -- Start branch trace recording record delete -- Delete the rest of execution log and start recording it anew record full -- Start full execution recording record full restore -- Restore the execution log from a file record function-call-history -- Prints the execution history at function granularity record goto -- Restore the program to its state at instruction number N record instruction-history -- Print disassembled instructions stored in the execution log record save -- Save the execution log to a file record stop -- Stop the record/replay target stop -- There is no `stop' command
Command class: running
advance -- Continue the program up to the given location (same form as args for break command) attach -- Attach to a process or file outside of GDB continue -- Continue program being debugged detach -- Detach a process or file previously attached detach inferiors -- Detach from inferior ID (or list of IDS) disconnect -- Disconnect from a target finish -- Execute until selected stack frame returns handle -- Specify how to handle signals inferior -- Use this command to switch between inferiors interrupt -- Interrupt the execution of the debugged program jump -- Continue program being debugged at specified line or address kill -- Kill execution of program being debugged kill inferiors -- Kill inferior ID (or list of IDs) next -- Step program nexti -- Step one instruction reverse-continue -- Continue program being debugged but run it in reverse reverse-finish -- Execute backward until just before selected stack frame is called reverse-next -- Step program backward reverse-nexti -- Step backward one instruction reverse-step -- Step program backward until it reaches the beginning of another source line reverse-stepi -- Step backward exactly one instruction run -- Start debugged program signal -- Continue program with the specified signal start -- Run the debugged program until the beginning of the main procedure step -- Step program until it reaches a different source line stepi -- Step one instruction exactly target -- Connect to a target machine or process target child -- Win32 child process (started by the "run" command) target core -- Use a core file as a target target exec -- Use an executable file as a target target extended-remote -- Use a remote computer via a serial line target record -- Log program while executing and replay execution from log target record-btrace -- Collect control-flow trace and provide the execution history target record-core -- Log program while executing and replay execution from log target record-full -- Log program while executing and replay execution from log target remote -- Use a remote computer via a serial line target tfile -- Use a trace file as a target task -- Use this command to switch between Ada tasks thread -- Use this command to switch between threads thread apply -- Apply a command to a list of threads thread apply all -- Apply a command to all threads thread find -- Find threads that match a regular expression thread name -- Set the current thread's name until -- Execute until the program reaches a source line greater than the current
Command class: stack
backtrace -- Print backtrace of all stack frames bt -- Print backtrace of all stack frames down -- Select and print stack frame called by this one frame -- Select and print a stack frame return -- Make selected stack frame return to its caller select-frame -- Select a stack frame without printing anything up -- Select and print stack frame that called this one
Command class: status
info -- Generic command for showing things about the program being debugged
info address -- Describe where symbol SYM is stored
info all-registers -- List of all registers and their contents
info args -- Argument variables of current stack frame
info auto-load -- Print current status of auto-loaded files
info auto-load gdb-scripts -- Print the list of automatically loaded sequences of commands
info auto-load local-gdbinit -- Print whether current directory .gdbinit file has been loaded
info auxv -- Display the inferior's auxiliary vector
info bookmarks -- Status of user-settable bookmarks
info breakpoints -- Status of specified breakpoints (all user-settable breakpoints if no argument)
info classes -- All Objective-C classes
info common -- Print out the values contained in a Fortran COMMON block
info copying -- Conditions for redistributing copies of GDB
info dcache -- Print information on the dcache performance
info display -- Expressions to display when program stops
info extensions -- All filename extensions associated with a source language
info files -- Names of targets and files being debugged
info float -- Print the status of the floating point unit
info frame -- All about selected stack frame
info functions -- All function names
info handle -- What debugger does when program gets various signals
info inferiors -- IDs of specified inferiors (all inferiors if no argument)
info line -- Core addresses of the code for a source line
info locals -- Local variables of current stack frame
info macro -- Show the definition of MACRO
info macros -- Show the definitions of all macros at LINESPEC
info mem -- Memory region attributes
info os -- Show OS data ARG
info probes -- Show available static probes
info probes all -- Show information about all type of probes
info probes stap -- Show information about SystemTap static probes
info proc -- Show /proc process information about any running process
info proc all -- List all available /proc info
info proc cmdline -- List command line arguments of the process
info proc cwd -- List current working directory of the process
info proc exe -- List absolute filename for executable of the process
info proc mappings -- List of mapped memory regions
info proc stat -- List process info from /proc/PID/stat
info proc status -- List process info from /proc/PID/status
info program -- Execution status of the program
info record -- Info record options
info registers -- List of integer registers and their contents
info scope -- List the variables local to a scope
info selectors -- All Objective-C selectors
info set -- Show all GDB settings
info sharedlibrary -- Status of loaded shared object libraries
info signals -- What debugger does when program gets various signals
info skip -- Display the status of skips
info source -- Information about the current source file
info sources -- Source files in the program
info stack -- Backtrace of the stack
info static-tracepoint-markers -- List target static tracepoints markers
info symbol -- Describe what symbol is at location ADDR
info target -- Names of targets and files being debugged
info tasks -- Provide information about all known Ada tasks
info terminal -- Print inferior's saved terminal status
info threads -- Display currently known threads
info tracepoints -- Status of specified tracepoints (all tracepoints if no argument)
info tvariables -- Status of trace state variables and their values
info types -- All type names
info variables -- All global and static variable names
info vector -- Print the status of the vector unit
info vtbl -- Show the virtual function table for a C++ object
info w32 -- Print information specific to Win32 debugging
info w32 selector -- Display selectors infos
info w32 thread-information-block -- Display thread information block
info warranty -- Various kinds of warranty you do not have
info watchpoints -- Status of specified watchpoints (all watchpoints if no argument)
macro -- Prefix for commands dealing with C preprocessor macros
macro define -- Define a new C/C++ preprocessor macro
macro expand -- Fully expand any C/C++ preprocessor macro invocations in EXPRESSION
macro expand-once -- Expand C/C++ preprocessor macro invocations appearing directly in EXPRESSION
macro list -- List all the macros defined using the macro define' command macro undef -- Remove the definition of the C/C++ preprocessor macro with the given name show -- Generic command for showing things about the debugger show ada -- Generic command for showing Ada-specific settings show ada trust-PAD-over-XVS -- Show whether an optimization trusting PAD types over XVS types is activated show agent -- Show debugger's willingness to use agent as a helper show annotate -- Show annotation_level show architecture -- Show architecture of target show args -- Show argument list to give program being debugged when it is started show auto-load -- Show auto-loading specific settings show auto-load gdb-scripts -- Show whether auto-loading of canned sequences of commands scripts is enabled show auto-load local-gdbinit -- Show whether auto-loading .gdbinit script in current directory is enabled show auto-load safe-path -- Show the list of files and directories that are safe for auto-loading show auto-load scripts-directory -- Show the list of directories from which to load auto-loaded scripts show auto-solib-add -- Show autoloading of shared library symbols show backtrace -- Show backtrace specific variables show backtrace limit -- Show the upper bound on the number of backtrace levels show backtrace past-entry -- Show whether backtraces should continue past the entry point of a program show backtrace past-main -- Show whether backtraces should continue past "main" show basenames-may-differ -- Show whether a source file may have multiple base names show breakpoint -- Breakpoint specific settings show breakpoint always-inserted -- Show mode for inserting breakpoints show breakpoint auto-hw -- Show automatic usage of hardware breakpoints show breakpoint condition-evaluation -- Show mode of breakpoint condition evaluation show breakpoint pending -- Show debugger's behavior regarding pending breakpoints show can-use-hw-watchpoints -- Show debugger's willingness to use watchpoint hardware show case-sensitive -- Show case sensitivity in name search show charset -- Show the host and target character sets show check -- Show the status of the type/range checker show check range -- Show range checking show check type -- Show strict type checking show circular-trace-buffer -- Show target's use of circular trace buffer show coerce-float-to-double -- Show coercion of floats to doubles when calling functions show commands -- Show the history of commands you typed show complaints -- Show max number of complaints about incorrect symbols show confirm -- Show whether to confirm potentially dangerous operations show convenience -- Debugger convenience ("$foo") variables and functions show copying -- Conditions for redistributing copies of GDB show cp-abi -- Show the ABI used for inspecting C++ objects show data-directory -- Show GDB's data directory show dcache -- Show dcachesettings show dcache line-size -- Show dcache line size show dcache size -- Show number of dcache lines show debug -- Generic command for showing gdb debugging flags show debug arch -- Show architecture debugging show debug auto-load -- Show auto-load verifications debugging show debug check-physname -- Show cross-checking of "physname" code against demangler show debug coff-pe-read -- Show coff PE read debugging show debug displaced -- Show displaced stepping debugging show debug dwarf2-die -- Show debugging of the dwarf2 DIE reader show debug dwarf2-read -- Show debugging of the dwarf2 reader show debug entry-values -- Show entry values and tail call frames debugging show debug expression -- Show expression debugging show debug frame -- Show frame debugging show debug infrun -- Show inferior debugging show debug jit -- Show JIT debugging show debug notification -- Show debugging of async remote notification show debug observer -- Show observer debugging show debug overload -- Show debugging of C++ overloading show debug parser -- Show parser debugging show debug record -- Show debugging of record/replay feature show debug remote -- Show debugging of remote protocol show debug serial -- Show serial debugging show debug stap-expression -- Show SystemTap expression debugging show debug symtab-create -- Show debugging of symbol table creation show debug target -- Show target debugging show debug timestamp -- Show timestamping of debugging messages show debug xml -- Show XML parser debugging show debug-file-directory -- Show the directories where separate debug symbols are searched for show debugevents -- Show whether to display kernel events in child process show debugexceptions -- Show whether to display kernel exceptions in child process show debugexec -- Show whether to display execution in child process show debugmemory -- Show whether to display memory accesses in child process show debugvarobj -- Show varobj debugging show default-collect -- Show the list of expressions to collect by default show demangle-style -- Show the current C++ demangling style show detach-on-fork -- Show whether gdb will detach the child of a fork show directories -- Show the search path for finding source files show disable-randomization -- Show disabling of debuggee's virtual address space randomization show disassemble-next-line -- Show whether to disassemble next source line or insn when execution stops show disassembly-flavor -- Show the disassembly flavor show disconnected-dprintf -- Show whether dprintf continues after GDB disconnects show disconnected-tracing -- Show whether tracing continues after GDB disconnects show displaced-stepping -- Show debugger's willingness to use displaced stepping show dprintf-channel -- Show the channel to use for dynamic printf show dprintf-function -- Show the function to use for dynamic printf show dprintf-style -- Show the style of usage for dynamic printf show editing -- Show editing of command lines as they are typed show endian -- Show endianness of target show environment -- The environment to give the program show exec-direction -- Show direction of execution (forward/reverse) show exec-done-display -- Show notification of completion for asynchronous execution commands show extension-language -- Show mapping between filename extension and source language show filename-display -- Show how to display filenames show follow-exec-mode -- Show debugger response to a program call of exec show follow-fork-mode -- Show debugger response to a program call of fork or vfork show gnutarget -- Show the current BFD target show height -- Show number of lines in a page for GDB output pagination show history -- Generic command for showing command history parameters show history expansion -- Show history expansion on command input show history filename -- Show the filename in which to record the command history show history save -- Show saving of the history record on exit show history size -- Show the size of the command history show host-charset -- Show the host character set show inferior-tty -- Show terminal for future runs of program being debugged show input-radix -- Show default input radix for entering numbers show interactive-mode -- Show whether GDB's standard input is a terminal show language -- Show the current source language show listsize -- Show number of source lines gdb will list by default show logging -- Show logging options show logging file -- Show the current logfile show logging overwrite -- Show whether logging overwrites or appends to the log file show logging redirect -- Show the logging output mode show max-user-call-depth -- Show the max call depth for non-python user-defined commands show may-insert-breakpoints -- Show permission to insert breakpoints in the target show may-insert-fast-tracepoints -- Show permission to insert fast tracepoints in the target show may-insert-tracepoints -- Show permission to insert tracepoints in the target show may-interrupt -- Show permission to interrupt or signal the target show may-write-memory -- Show permission to write into target memory show may-write-registers -- Show permission to write into registers show mem -- Memory regions settings show mem inaccessible-by-default -- Show handling of unknown memory regions show multiple-symbols -- Show how the debugger handles ambiguities in expressions show new-console -- Show creation of new console when creating child process show new-group -- Show creation of new group when creating child process show non-stop -- Show whether gdb controls the inferior in non-stop mode show observer -- Show whether gdb controls the inferior in observer mode show opaque-type-resolution -- Show resolution of opaque struct/class/union types (if set before loading symbols) show osabi -- Show OS ABI of target show output-radix -- Show default output radix for printing of values show overload-resolution -- Show overload resolution in evaluating C++ functions show pagination -- Show state of GDB output pagination show paths -- Current search path for finding object files show print -- Generic command for showing print settings show print address -- Show printing of addresses show print array -- Show prettyprinting of arrays show print array-indexes -- Show printing of array indexes show print asm-demangle -- Show demangling of C++/ObjC names in disassembly listings show print demangle -- Show demangling of encoded C++/ObjC names when displaying symbols show print elements -- Show limit on string chars or array elements to print show print entry-values -- Show printing of function arguments at function entry show print frame-arguments -- Show printing of non-scalar frame arguments show print inferior-events -- Show printing of inferior events (e.g. show print max-symbolic-offset -- Show the largest offset that will be printed in <symbol+1234> form show print null-stop -- Show printing of char arrays to stop at first null char show print object -- Show printing of object's derived type based on vtable info show print pascal_static-members -- Show printing of pascal static members show print pretty -- Show prettyprinting of structures show print repeats -- Show threshold for repeated print elements show print sevenbit-strings -- Show printing of 8-bit characters in strings as \nnn show print static-members -- Show printing of C++ static members show print symbol -- Show printing of symbol names when printing pointers show print symbol-filename -- Show printing of source filename and line number with <symbol> show print thread-events -- Show printing of thread events (such as thread start and exit) show print type -- Generic command for showing type-printing settings show print type methods -- Show printing of methods defined in classes show print type typedefs -- Show printing of typedefs defined in classes show print union -- Show printing of unions interior to structures show print vtbl -- Show printing of C++ virtual function tables show prompt -- Show gdb's prompt show python -- Prefix command for python preference settings show python print-stack -- Show the mode of Python stack printing on error show radix -- Show the default input and output number radices show record -- Show record options show record full -- Show record options show record full insn-number-max -- Show record/replay buffer limit show record full memory-query -- Show whether query if PREC cannot record memory change of next instruction show record full stop-at-limit -- Show whether record/replay stops when record/replay buffer becomes full show record function-call-history-size -- Show number of functions to print in "record function-call-history" show record instruction-history-size -- Show number of instructions to print in "record instruction-history" show remote -- Remote protocol specific variables show remote P-packet -- Show current use of remote protocol
P' (set-register) packet
show remote TracepointSource-packet -- Show current use of remote protocol TracepointSource' (TracepointSource) packet show remote X-packet -- Show current use of remote protocol
X' (binary-download) packet
show remote Z-packet -- Show use of remote protocol Z' packets show remote access-watchpoint-packet -- Show current use of remote protocol
Z4' (access-watchpoint) packet
show remote agent-packet -- Show current use of remote protocol QAgent' (agent) packet show remote allow-packet -- Show current use of remote protocol
QAllow' (allow) packet
show remote attach-packet -- Show current use of remote protocol vAttach' (attach) packet show remote binary-download-packet -- Show current use of remote protocol
X' (binary-download) packet
show remote breakpoint-commands-packet -- Show current use of remote protocol BreakpointCommands' (breakpoint-commands) packet show remote conditional-breakpoints-packet -- Show current use of remote protocol
ConditionalBreakpoints' (conditional-breakpoints) packet
show remote conditional-tracepoints-packet -- Show current use of remote protocol ConditionalTracepoints' (conditional-tracepoints) packet show remote disable-btrace-packet -- Show current use of remote protocol
Qbtrace:off' (disable-btrace) packet
show remote disable-randomization-packet -- Show current use of remote protocol QDisableRandomization' (disable-randomization) packet show remote enable-btrace-packet -- Show current use of remote protocol
Qbtrace:bts' (enable-btrace) packet
show remote exec-file -- Show the remote pathname for "run"
show remote fast-tracepoints-packet -- Show current use of remote protocol FastTracepoints' (fast-tracepoints) packet show remote fetch-register-packet -- Show current use of remote protocol
p' (fetch-register) packet
show remote get-thread-information-block-address-packet -- Show current use of remote protocol qGetTIBAddr' (get-thread-information-block-address) packet show remote get-thread-local-storage-address-packet -- Show current use of remote protocol
qGetTLSAddr' (get-thread-local-storage-address) packet
show remote hardware-breakpoint-limit -- Show the maximum number of target hardware breakpoints
show remote hardware-breakpoint-packet -- Show current use of remote protocol Z1' (hardware-breakpoint) packet show remote hardware-watchpoint-length-limit -- Show the maximum length (in bytes) of a target hardware watchpoint show remote hardware-watchpoint-limit -- Show the maximum number of target hardware watchpoints show remote hostio-close-packet -- Show current use of remote protocol
vFile:close' (hostio-close) packet
show remote hostio-open-packet -- Show current use of remote protocol vFile:open' (hostio-open) packet show remote hostio-pread-packet -- Show current use of remote protocol
vFile:pread' (hostio-pread) packet
show remote hostio-pwrite-packet -- Show current use of remote protocol vFile:pwrite' (hostio-pwrite) packet show remote hostio-readlink-packet -- Show current use of remote protocol
vFile:readlink' (hostio-readlink) packet
show remote hostio-unlink-packet -- Show current use of remote protocol vFile:unlink' (hostio-unlink) packet show remote install-in-trace-packet -- Show current use of remote protocol
InstallInTrace' (install-in-trace) packet
show remote interrupt-on-connect -- Show whether interrupt-sequence is sent to remote target when gdb connects to
show remote interrupt-sequence -- Show interrupt sequence to remote target
show remote kill-packet -- Show current use of remote protocol vKill' (kill) packet show remote library-info-packet -- Show current use of remote protocol
qXfer:libraries:read' (library-info) packet
show remote library-info-svr4-packet -- Show current use of remote protocol qXfer:libraries-svr4:read' (library-info-svr4) packet show remote memory-map-packet -- Show current use of remote protocol
qXfer:memory-map:read' (memory-map) packet
show remote memory-read-packet-size -- Show the maximum number of bytes per memory-read packet
show remote memory-write-packet-size -- Show the maximum number of bytes per memory-write packet
show remote noack-packet -- Show current use of remote protocol QStartNoAckMode' (noack) packet show remote osdata-packet -- Show current use of remote protocol
qXfer:osdata:read' (osdata) packet
show remote p-packet -- Show current use of remote protocol p' (fetch-register) packet show remote pass-signals-packet -- Show current use of remote protocol
QPassSignals' (pass-signals) packet
show remote program-signals-packet -- Show current use of remote protocol QProgramSignals' (program-signals) packet show remote query-attached-packet -- Show current use of remote protocol
qAttached' (query-attached) packet
show remote read-aux-vector-packet -- Show current use of remote protocol qXfer:auxv:read' (read-aux-vector) packet show remote read-btrace-packet -- Show current use of remote protocol
qXfer:btrace' (read-btrace) packet
show remote read-fdpic-loadmap-packet -- Show current use of remote protocol qXfer:fdpic:read' (read-fdpic-loadmap) packet show remote read-sdata-object-packet -- Show current use of remote protocol
qXfer:statictrace:read' (read-sdata-object) packet
show remote read-siginfo-object-packet -- Show current use of remote protocol qXfer:siginfo:read' (read-siginfo-object) packet show remote read-spu-object-packet -- Show current use of remote protocol
qXfer:spu:read' (read-spu-object) packet
show remote read-watchpoint-packet -- Show current use of remote protocol Z3' (read-watchpoint) packet show remote reverse-continue-packet -- Show current use of remote protocol
bc' (reverse-continue) packet
show remote reverse-step-packet -- Show current use of remote protocol bs' (reverse-step) packet show remote run-packet -- Show current use of remote protocol
vRun' (run) packet
show remote search-memory-packet -- Show current use of remote protocol qSearch:memory' (search-memory) packet show remote set-register-packet -- Show current use of remote protocol
P' (set-register) packet
show remote software-breakpoint-packet -- Show current use of remote protocol Z0' (software-breakpoint) packet show remote static-tracepoints-packet -- Show current use of remote protocol
StaticTracepoints' (static-tracepoints) packet
show remote supported-packets-packet -- Show current use of remote protocol qSupported' (supported-packets) packet show remote symbol-lookup-packet -- Show current use of remote protocol
qSymbol' (symbol-lookup) packet
show remote system-call-allowed -- Show if the host system(3) call is allowed for the target
show remote target-features-packet -- Show current use of remote protocol qXfer:features:read' (target-features) packet show remote threads-packet -- Show current use of remote protocol
qXfer:threads:read' (threads) packet
show remote trace-buffer-size-packet -- Show current use of remote protocol QTBuffer:size' (trace-buffer-size) packet show remote traceframe-info-packet -- Show current use of remote protocol
qXfer:trace-frame-info:read' (traceframe-info) packet
show remote unwind-info-block-packet -- Show current use of remote protocol qXfer:uib:read' (unwind-info-block) packet show remote verbose-resume-packet -- Show current use of remote protocol
vCont' (verbose-resume) packet
show remote write-siginfo-object-packet -- Show current use of remote protocol qXfer:siginfo:write' (write-siginfo-object) packet show remote write-spu-object-packet -- Show current use of remote protocol
qXfer:spu:write' (write-spu-object) packet
show remote write-watchpoint-packet -- Show current use of remote protocol `Z2' (write-watchpoint) packet
show remoteaddresssize -- Show the maximum size of the address (in bits) in a memory packet
show remotebaud -- Show baud rate for remote serial I/O
show remotebreak -- Show whether to send break if interrupted
show remotecache -- Show cache use for remote targets
show remotelogbase -- Show numerical base for remote session logging
show remotelogfile -- Show filename for remote session recording
show remotetimeout -- Show timeout limit to wait for target to respond
show remotewritesize -- Show the maximum number of bytes per memory write packet (deprecated)
show schedule-multiple -- Show mode for resuming threads of all processes
show scheduler-locking -- Show mode for locking scheduler during execution
show script-extension -- Show mode for script filename extension recognition
show serial -- Show default serial/parallel port configuration
show solib-absolute-prefix -- Show the current system root
show solib-search-path -- Show the search path for loading non-absolute shared library symbol files
show stack-cache -- Show cache use for stack access
show step-mode -- Show mode of the step operation
show stop-on-solib-events -- Show stopping for shared library events
show struct-convention -- Show the convention for returning small structs
show substitute-path -- Usage: show substitute-path [FROM]
show sysroot -- Show the current system root
show target-async -- Show whether gdb controls the inferior in asynchronous mode
show target-charset -- Show the target character set
show target-file-system-kind -- Show assumed file system kind for target reported file names
show target-wide-charset -- Show the target wide character set
show tcp -- TCP protocol specific variables
show tcp auto-retry -- Show auto-retry on socket connect
show tcp connect-timeout -- Show timeout limit for socket connection
show tdesc -- Show target description specific variables
show tdesc filename -- Show the file to read for an XML target description
show trace-buffer-size -- Show requested size of trace buffer
show trace-commands -- Show state of GDB CLI command tracing
show trace-notes -- Show the notes string to use for current and future trace runs
show trace-stop-notes -- Show the notes string to use for future tstop commands
show trace-user -- Show the user name to use for current and future trace runs
show trust-readonly-sections -- Show mode for reading from readonly sections
show unwind-on-terminating-exception -- Show unwinding of stack if std::terminate() is called while in a call dummy
show unwindonsignal -- Show unwinding of stack if a signal is received while in a call dummy
show use-deprecated-index-sections -- Show whether to use deprecated gdb_index sections
show user -- Show definitions of non-python user defined commands
show values -- Elements of value history around item number IDX (or last ten)
show verbose -- Show verbosity
show version -- Show what version of GDB this is
show warranty -- Various kinds of warranty you do not have
show watchdog -- Show watchdog timer
show width -- Show number of characters where GDB should wrap lines of its output
show write -- Show writing into executable and core files
Command class: support
! -- Execute the rest of the line as a shell command
add-auto-load-safe-path -- Add entries to the list of directories from which it is safe to auto-load files
alias -- Define a new command that is an alias of an existing command
apropos -- Search for commands matching a REGEXP
define -- Define a new command name
document -- Document a user-defined command
dont-repeat -- Don't repeat this command
down-silently -- Same as the down' command echo -- Print a constant string help -- Print list of commands if -- Execute nested commands once IF the conditional expression is non zero interpreter-exec -- Execute a command in an interpreter make -- Run the ``make'' program using the rest of the line as arguments overlay -- Commands for debugging overlays overlay auto -- Enable automatic overlay debugging overlay list-overlays -- List mappings of overlay sections overlay load-target -- Read the overlay mapping state from the target overlay manual -- Enable overlay debugging overlay map-overlay -- Assert that an overlay section is mapped overlay off -- Disable overlay debugging overlay unmap-overlay -- Assert that an overlay section is unmapped quit -- Exit gdb shell -- Execute the rest of the line as a shell command source -- Read commands from a file named FILE up-silently -- Same as the
up' command
while -- Execute nested commands WHILE the conditional expression is non zero
Command class: tracepoints
actions -- Specify the actions to be taken at a tracepoint collect -- Specify one or more data items to be collected at a tracepoint end -- Ends a list of commands or actions passcount -- Set the passcount for a tracepoint save-tracepoints -- Save current tracepoint definitions as a script tdump -- Print everything collected at the current tracepoint teval -- Specify one or more expressions to be evaluated at a tracepoint tfind -- Select a trace frame; tfind end -- De-select any trace frame and resume 'live' debugging tfind line -- Select a trace frame by source line tfind none -- De-select any trace frame and resume 'live' debugging tfind outside -- Select a trace frame whose PC is outside the given range (exclusive) tfind pc -- Select a trace frame by PC tfind range -- Select a trace frame whose PC is in the given range (inclusive) tfind start -- Select the first trace frame in the trace buffer tfind tracepoint -- Select a trace frame by tracepoint number tsave -- Save the trace data to a file tstart -- Start trace data collection tstatus -- Display the status of the current trace data collection tstop -- Stop trace data collection tvariable -- Define a trace state variable while-stepping -- Specify single-stepping behavior at a tracepoint
Command class: user-defined
Unclassified commands
add-inferior -- Add a new inferior clone-inferior -- Clone inferior ID eval -- Convert "printf format string" function -- Placeholder command for showing help on convenience functions jit-reader-load -- Load FILE as debug info reader and unwinder for JIT compiled code jit-reader-unload -- Unload the currently loaded JIT debug info reader remove-inferiors -- Remove inferior ID (or list of IDs) unset -- Complement to certain "set" commands unset environment -- Cancel environment variable VAR for the program unset substitute-path -- Usage: unset substitute-path [FROM] unset tdesc -- Unset target description specific variables unset tdesc filename -- Unset the file to read for an XML target description (gdb)
执行命令 gcc -g 18.4.c gdb a.exe 后得到下面的结果: GNU gdb (GDB) 7.6.1 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "mingw32". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from D:\常用目录\hdf\c\test\a.exe...done. (gdb)
这样进入gdb
在gdb中输入 (gdb) run Starting program: D:\hdf\c\test/a.exe [New Thread 23472.0x1a14] [New Thread 23472.0x2c4]
Program received signal SIGSEGV, Segmentation fault. 0x00401474 in main () at 18.4.c:7 7 sum += data[i]; (gdb) 找出程序错误。 错误在第七行,经查证,确实是这样。
输入是,有提示是不是真的退出。回答y退出,回答n不退出。 (gdb) quit A debugging session is active.
Inferior 1 [process 23472] will be killed.
Quit anyway? (y or n)
gdb命令list,是列出参数所指出的那么多行,其中前面均等,如果是奇数,则前面的多一行。 如果太少,会列出全部行。
//此程序试图越界访问数组 //用于说明gdb的使用方法 //阅读版本
include
int main (void) { const int data[5] = {1, 2, 3, 4, 5}; int i, sum; for (i = 0; i >= 0; ++i) sum += data[i]; printf ("sum = %i\n", sum); return 0; }