Initial creation of sourceware repository
This commit is contained in:
parent
071ea11e85
commit
9733ab3f56
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
|||
# gdbwin.o and ser-win32s.c have to be named because they have
|
||||
# _initialize functions that need to be found by init.c
|
||||
# gui.ores has to be named, or else msvc won't link it in.
|
||||
XDEPFILES = \
|
||||
mswin/gdbwin.o \
|
||||
mswin/ser-win32s.o \
|
||||
mswin/gui.ores \
|
||||
mswin/libwingdb.a
|
||||
|
||||
$(XDEPFILES):
|
||||
rootme=`pwd` ; export rootme ; \
|
||||
( cd mswin ; \
|
||||
$(MAKE) $(FLAGS_TO_PASS) all )
|
||||
|
||||
XM_FILE=xm-windows.h
|
||||
MMALLOC=
|
||||
SER_HARDWIRE =
|
|
@ -0,0 +1 @@
|
|||
@set GDBVN 4.18
|
Binary file not shown.
|
@ -0,0 +1,230 @@
|
|||
This is Info file ./gdb.info, produced by Makeinfo version 1.68 from
|
||||
the input file gdb.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Gdb: (gdb). The GNU debugger.
|
||||
END-INFO-DIR-ENTRY
|
||||
This file documents the GNU debugger GDB.
|
||||
|
||||
This is the Seventh Edition, February 1999, of `Debugging with GDB:
|
||||
the GNU Source-Level Debugger' for GDB Version 4.18.
|
||||
|
||||
Copyright (C) 1988-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided also
|
||||
that the entire resulting derived work is distributed under the terms
|
||||
of a permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions.
|
||||
|
||||
|
||||
Indirect:
|
||||
gdb.info-1: 991
|
||||
gdb.info-2: 48295
|
||||
gdb.info-3: 96814
|
||||
gdb.info-4: 145217
|
||||
gdb.info-5: 193677
|
||||
gdb.info-6: 235496
|
||||
gdb.info-7: 284239
|
||||
gdb.info-8: 332485
|
||||
gdb.info-9: 381855
|
||||
gdb.info-10: 404259
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top991
|
||||
Node: Summary9590
|
||||
Node: Free Software11196
|
||||
Node: Contributors11950
|
||||
Node: Sample Session17994
|
||||
Node: Invocation24864
|
||||
Node: Invoking GDB25337
|
||||
Node: File Options27232
|
||||
Node: Mode Options30398
|
||||
Node: Quitting GDB32594
|
||||
Node: Shell Commands33460
|
||||
Node: Commands34202
|
||||
Node: Command Syntax34839
|
||||
Node: Completion36719
|
||||
Node: Help41039
|
||||
Node: Running45347
|
||||
Node: Compilation46483
|
||||
Node: Starting48295
|
||||
Node: Arguments51468
|
||||
Node: Environment52472
|
||||
Node: Working Directory55568
|
||||
Node: Input/Output56308
|
||||
Node: Attach57913
|
||||
Node: Kill Process60341
|
||||
Node: Process Information61311
|
||||
Node: Threads62643
|
||||
Node: Processes67288
|
||||
Node: Stopping68520
|
||||
Node: Breakpoints69669
|
||||
Node: Set Breaks72514
|
||||
Node: Set Watchpoints81021
|
||||
Node: Set Catchpoints84382
|
||||
Node: Delete Breaks87850
|
||||
Node: Disabling89517
|
||||
Node: Conditions92204
|
||||
Node: Break Commands96814
|
||||
Node: Breakpoint Menus99690
|
||||
Node: Continuing and Stepping101366
|
||||
Node: Signals108708
|
||||
Node: Thread Stops112376
|
||||
Node: Stack115697
|
||||
Node: Frames117250
|
||||
Node: Backtrace119981
|
||||
Node: Selection121713
|
||||
Node: Frame Info124449
|
||||
Node: Alpha/MIPS Stack126745
|
||||
Node: Source127800
|
||||
Node: List128749
|
||||
Node: Search132289
|
||||
Node: Source Path133092
|
||||
Node: Machine Code135773
|
||||
Node: Data138692
|
||||
Node: Expressions140567
|
||||
Node: Variables142512
|
||||
Node: Arrays145217
|
||||
Node: Output Formats147742
|
||||
Node: Memory149813
|
||||
Node: Auto Display154077
|
||||
Node: Print Settings157832
|
||||
Node: Value History167759
|
||||
Node: Convenience Vars170170
|
||||
Node: Registers172953
|
||||
Node: Floating Point Hardware177655
|
||||
Node: Languages178158
|
||||
Node: Setting179262
|
||||
Node: Filenames180870
|
||||
Node: Manually181624
|
||||
Node: Automatically182822
|
||||
Node: Show183873
|
||||
Node: Checks185171
|
||||
Node: Type Checking186527
|
||||
Node: Range Checking189239
|
||||
Node: Support191580
|
||||
Node: C192520
|
||||
Node: C Operators193677
|
||||
Node: C Constants197758
|
||||
Node: Cplus expressions199745
|
||||
Node: C Defaults202223
|
||||
Node: C Checks202885
|
||||
Node: Debugging C203602
|
||||
Node: Debugging C plus plus204107
|
||||
Node: Modula-2206105
|
||||
Node: M2 Operators206992
|
||||
Node: Built-In Func/Proc210005
|
||||
Node: M2 Constants212744
|
||||
Node: M2 Defaults214333
|
||||
Node: Deviations214928
|
||||
Node: M2 Checks216015
|
||||
Node: M2 Scope216815
|
||||
Node: GDB/M2217824
|
||||
Node: Symbols218763
|
||||
Node: Altering225625
|
||||
Node: Assignment226593
|
||||
Node: Jumping228720
|
||||
Node: Signaling230853
|
||||
Node: Returning231975
|
||||
Node: Calling233167
|
||||
Node: Patching233961
|
||||
Node: GDB Files235031
|
||||
Node: Files235496
|
||||
Node: Symbol Errors245168
|
||||
Node: Targets248747
|
||||
Node: Active Targets249697
|
||||
Node: Target Commands251285
|
||||
Node: Byte Order259363
|
||||
Node: Remote260347
|
||||
Node: Remote Serial261803
|
||||
Node: Stub Contents264411
|
||||
Node: Bootstrapping266512
|
||||
Node: Debug Session270308
|
||||
Node: Protocol273453
|
||||
Node: Server276726
|
||||
Node: NetWare280772
|
||||
Node: i960-Nindy Remote282734
|
||||
Node: Nindy Startup283554
|
||||
Node: Nindy Options284239
|
||||
Node: Nindy Reset285853
|
||||
Node: UDI29K Remote286237
|
||||
Node: EB29K Remote287142
|
||||
Node: Comms (EB29K)287960
|
||||
Node: gdb-EB29K291139
|
||||
Node: Remote Log292505
|
||||
Node: ST2000 Remote292980
|
||||
Node: VxWorks Remote294448
|
||||
Node: VxWorks Connection296408
|
||||
Node: VxWorks Download297334
|
||||
Node: VxWorks Attach299063
|
||||
Node: Sparclet Remote299453
|
||||
Node: Sparclet File300901
|
||||
Node: Sparclet Connection301773
|
||||
Node: Sparclet Download302243
|
||||
Node: Sparclet Execution303281
|
||||
Node: Hitachi Remote303864
|
||||
Node: Hitachi Boards304792
|
||||
Node: Hitachi ICE305855
|
||||
Node: Hitachi Special306643
|
||||
Node: MIPS Remote307369
|
||||
Node: Simulator311666
|
||||
Node: Controlling GDB313222
|
||||
Node: Prompt313833
|
||||
Node: Editing314631
|
||||
Node: History315400
|
||||
Node: Screen Size318099
|
||||
Node: Numbers319497
|
||||
Node: Messages/Warnings320899
|
||||
Node: Sequences322907
|
||||
Node: Define323487
|
||||
Node: Hooks326671
|
||||
Node: Command Files328069
|
||||
Node: Output330078
|
||||
Node: Emacs332485
|
||||
Node: GDB Bugs338431
|
||||
Node: Bug Criteria339153
|
||||
Node: Bug Reporting340040
|
||||
Node: Command Line Editing347326
|
||||
Node: Introduction and Notation347991
|
||||
Node: Readline Interaction349025
|
||||
Node: Readline Bare Essentials350213
|
||||
Node: Readline Movement Commands351749
|
||||
Node: Readline Killing Commands352710
|
||||
Node: Readline Arguments354421
|
||||
Node: Searching355391
|
||||
Node: Readline Init File356969
|
||||
Node: Readline Init File Syntax358011
|
||||
Node: Conditional Init Constructs366872
|
||||
Node: Sample Init File369306
|
||||
Node: Bindable Readline Commands372471
|
||||
Node: Commands For Moving373217
|
||||
Node: Commands For History374060
|
||||
Node: Commands For Text376807
|
||||
Node: Commands For Killing378588
|
||||
Node: Numeric Arguments380733
|
||||
Node: Commands For Completion381855
|
||||
Node: Keyboard Macros383336
|
||||
Node: Miscellaneous Commands383890
|
||||
Node: Readline vi Mode386689
|
||||
Node: Using History Interactively387532
|
||||
Node: History Interaction387887
|
||||
Node: Event Designators388839
|
||||
Node: Word Designators389484
|
||||
Node: Modifiers390392
|
||||
Node: Formatting Documentation391062
|
||||
Node: Installing GDB394433
|
||||
Node: Separate Objdir397915
|
||||
Node: Config Names400485
|
||||
Node: Configure Options401927
|
||||
Node: Index404259
|
||||
|
||||
End Tag Table
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,775 @@
|
|||
This is Info file ./gdb.info, produced by Makeinfo version 1.68 from
|
||||
the input file gdb.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Gdb: (gdb). The GNU debugger.
|
||||
END-INFO-DIR-ENTRY
|
||||
This file documents the GNU debugger GDB.
|
||||
|
||||
This is the Seventh Edition, February 1999, of `Debugging with GDB:
|
||||
the GNU Source-Level Debugger' for GDB Version 4.18.
|
||||
|
||||
Copyright (C) 1988-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided also
|
||||
that the entire resulting derived work is distributed under the terms
|
||||
of a permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions.
|
||||
|
||||
|
||||
File: gdb.info, Node: Index, Prev: Installing GDB, Up: Top
|
||||
|
||||
Index
|
||||
*****
|
||||
|
||||
* Menu:
|
||||
|
||||
* #: Command Syntax.
|
||||
* # in Modula-2: GDB/M2.
|
||||
* $: Value History.
|
||||
* $$: Value History.
|
||||
* $_: Convenience Vars.
|
||||
* $_ and info breakpoints: Set Breaks.
|
||||
* $_ and info line: Machine Code.
|
||||
* $_, $__, and value history: Memory.
|
||||
* $__: Convenience Vars.
|
||||
* $_exitcode: Convenience Vars.
|
||||
* $bpnum: Set Breaks.
|
||||
* $cdir: Source Path.
|
||||
* $cwd: Source Path.
|
||||
* .: M2 Scope.
|
||||
* .esgdbinit: Command Files.
|
||||
* .gdbinit: Command Files.
|
||||
* .os68gdbinit: Command Files.
|
||||
* .vxgdbinit: Command Files.
|
||||
* /proc: Process Information.
|
||||
* @: Arrays.
|
||||
* a.out and C++: Cplus expressions.
|
||||
* abbreviation: Command Syntax.
|
||||
* active targets: Active Targets.
|
||||
* add-shared-symbol-file: Files.
|
||||
* add-symbol-file: Files.
|
||||
* Alpha stack: Alpha/MIPS Stack.
|
||||
* AMD 29K register stack: Registers.
|
||||
* AMD EB29K: Target Commands.
|
||||
* AMD29K via UDI: UDI29K Remote.
|
||||
* arguments (to your program): Arguments.
|
||||
* artificial array: Arrays.
|
||||
* assembly instructions: Machine Code.
|
||||
* assignment: Assignment.
|
||||
* attach: Attach.
|
||||
* automatic display: Auto Display.
|
||||
* automatic thread selection: Threads.
|
||||
* awatch: Set Watchpoints.
|
||||
* b: Set Breaks.
|
||||
* backtrace: Backtrace.
|
||||
* backtraces: Backtrace.
|
||||
* bell-style: Readline Init File Syntax.
|
||||
* break: Set Breaks.
|
||||
* break ... thread THREADNO: Thread Stops.
|
||||
* break in overloaded functions: Debugging C plus plus.
|
||||
* breakpoint commands: Break Commands.
|
||||
* breakpoint conditions: Conditions.
|
||||
* breakpoint numbers: Breakpoints.
|
||||
* breakpoint on events: Breakpoints.
|
||||
* breakpoint on memory address: Breakpoints.
|
||||
* breakpoint on variable modification: Breakpoints.
|
||||
* breakpoint subroutine, remote: Stub Contents.
|
||||
* breakpoints: Breakpoints.
|
||||
* breakpoints and threads: Thread Stops.
|
||||
* bt: Backtrace.
|
||||
* bug criteria: Bug Criteria.
|
||||
* bug reports: Bug Reporting.
|
||||
* bugs in GDB: GDB Bugs.
|
||||
* c: Continuing and Stepping.
|
||||
* C and C++: C.
|
||||
* C and C++ checks: C Checks.
|
||||
* C and C++ constants: C Constants.
|
||||
* C and C++ defaults: C Defaults.
|
||||
* C and C++ operators: C.
|
||||
* C++: C.
|
||||
* C++ and object formats: Cplus expressions.
|
||||
* C++ exception handling: Debugging C plus plus.
|
||||
* C++ scope resolution: Variables.
|
||||
* C++ support, not in COFF: Cplus expressions.
|
||||
* C++ symbol decoding style: Print Settings.
|
||||
* C++ symbol display: Debugging C plus plus.
|
||||
* call: Calling.
|
||||
* call overloaded functions: Cplus expressions.
|
||||
* call stack: Stack.
|
||||
* calling functions: Calling.
|
||||
* calling make: Shell Commands.
|
||||
* casts, to view memory: Expressions.
|
||||
* catch: Set Catchpoints.
|
||||
* catch catch: Set Catchpoints.
|
||||
* catch exceptions: Frame Info.
|
||||
* catch exec: Set Catchpoints.
|
||||
* catch fork: Set Catchpoints.
|
||||
* catch load: Set Catchpoints.
|
||||
* catch throw: Set Catchpoints.
|
||||
* catch unload: Set Catchpoints.
|
||||
* catch vfork: Set Catchpoints.
|
||||
* catchpoints <1>: Set Catchpoints.
|
||||
* catchpoints: Breakpoints.
|
||||
* cd: Working Directory.
|
||||
* cdir: Source Path.
|
||||
* checks, range: Type Checking.
|
||||
* checks, type: Checks.
|
||||
* checksum, for GDB remote: Protocol.
|
||||
* choosing target byte order: Byte Order.
|
||||
* clear: Delete Breaks.
|
||||
* clearing breakpoints, watchpoints, catchpoints: Delete Breaks.
|
||||
* COFF versus C++: Cplus expressions.
|
||||
* colon, doubled as scope operator: M2 Scope.
|
||||
* colon-colon <1>: Variables.
|
||||
* colon-colon: M2 Scope.
|
||||
* command editing: Readline Bare Essentials.
|
||||
* command files <1>: Hooks.
|
||||
* command files: Command Files.
|
||||
* command line editing: Editing.
|
||||
* commands: Break Commands.
|
||||
* commands for C++: Debugging C plus plus.
|
||||
* commands to STDBUG (ST2000): ST2000 Remote.
|
||||
* comment: Command Syntax.
|
||||
* comment-begin: Readline Init File Syntax.
|
||||
* compilation directory: Source Path.
|
||||
* Compiling: Sparclet Remote.
|
||||
* complete: Help.
|
||||
* completion: Completion.
|
||||
* completion of quoted strings: Completion.
|
||||
* completion-query-items: Readline Init File Syntax.
|
||||
* condition: Conditions.
|
||||
* conditional breakpoints: Conditions.
|
||||
* configuring GDB: Installing GDB.
|
||||
* confirmation: Messages/Warnings.
|
||||
* connect (to STDBUG): ST2000 Remote.
|
||||
* continue: Continuing and Stepping.
|
||||
* continuing: Continuing and Stepping.
|
||||
* continuing threads: Thread Stops.
|
||||
* control C, and remote debugging: Bootstrapping.
|
||||
* controlling terminal: Input/Output.
|
||||
* convenience variables: Convenience Vars.
|
||||
* convert-meta: Readline Init File Syntax.
|
||||
* core: Files.
|
||||
* core dump file: Files.
|
||||
* core-file: Files.
|
||||
* CPU simulator: Simulator.
|
||||
* crash of debugger: Bug Criteria.
|
||||
* current directory: Source Path.
|
||||
* current thread: Threads.
|
||||
* cwd: Source Path.
|
||||
* d: Delete Breaks.
|
||||
* debugger crash: Bug Criteria.
|
||||
* debugging optimized code: Compilation.
|
||||
* debugging stub, example: Protocol.
|
||||
* debugging target: Targets.
|
||||
* define: Define.
|
||||
* delete: Delete Breaks.
|
||||
* delete breakpoints: Delete Breaks.
|
||||
* delete display: Auto Display.
|
||||
* deleting breakpoints, watchpoints, catchpoints: Delete Breaks.
|
||||
* demangling: Print Settings.
|
||||
* detach: Attach.
|
||||
* device: Hitachi Boards.
|
||||
* dir: Source Path.
|
||||
* directories for source files: Source Path.
|
||||
* directory: Source Path.
|
||||
* directory, compilation: Source Path.
|
||||
* directory, current: Source Path.
|
||||
* dis: Disabling.
|
||||
* disable: Disabling.
|
||||
* disable breakpoints: Disabling.
|
||||
* disable display: Auto Display.
|
||||
* disable-completion: Readline Init File Syntax.
|
||||
* disassemble: Machine Code.
|
||||
* display: Auto Display.
|
||||
* display of expressions: Auto Display.
|
||||
* do: Selection.
|
||||
* document: Define.
|
||||
* documentation: Formatting Documentation.
|
||||
* down: Selection.
|
||||
* down-silently: Selection.
|
||||
* download to H8/300 or H8/500: Target Commands.
|
||||
* download to Hitachi SH: Target Commands.
|
||||
* download to Nindy-960: Target Commands.
|
||||
* download to Sparclet: Sparclet Download.
|
||||
* download to VxWorks: VxWorks Download.
|
||||
* dynamic linking: Files.
|
||||
* eb.log: Remote Log.
|
||||
* EB29K board: EB29K Remote.
|
||||
* EBMON: Comms (EB29K).
|
||||
* echo: Output.
|
||||
* ECOFF and C++: Cplus expressions.
|
||||
* editing: Editing.
|
||||
* editing command lines: Readline Bare Essentials.
|
||||
* editing-mode: Readline Init File Syntax.
|
||||
* ELF/DWARF and C++: Cplus expressions.
|
||||
* ELF/stabs and C++: Cplus expressions.
|
||||
* else: Define.
|
||||
* Emacs: Emacs.
|
||||
* enable: Disabling.
|
||||
* enable breakpoints: Disabling.
|
||||
* enable display: Auto Display.
|
||||
* enable-keypad: Readline Init File Syntax.
|
||||
* end: Break Commands.
|
||||
* entering numbers: Numbers.
|
||||
* environment (of your program): Environment.
|
||||
* error on valid input: Bug Criteria.
|
||||
* event designators: Event Designators.
|
||||
* event handling: Set Catchpoints.
|
||||
* examining data: Data.
|
||||
* examining memory: Memory.
|
||||
* exception handlers <1>: Frame Info.
|
||||
* exception handlers: Set Catchpoints.
|
||||
* exceptionHandler: Bootstrapping.
|
||||
* exec-file: Files.
|
||||
* executable file: Files.
|
||||
* exiting GDB: Quitting GDB.
|
||||
* expand-tilde: Readline Init File Syntax.
|
||||
* expansion: History Interaction.
|
||||
* expressions: Expressions.
|
||||
* expressions in C or C++: C.
|
||||
* expressions in C++: Cplus expressions.
|
||||
* expressions in Modula-2: Modula-2.
|
||||
* f: Selection.
|
||||
* fatal signal: Bug Criteria.
|
||||
* fatal signals: Signals.
|
||||
* fg: Continuing and Stepping.
|
||||
* file: Files.
|
||||
* finish: Continuing and Stepping.
|
||||
* flinching: Messages/Warnings.
|
||||
* floating point: Floating Point Hardware.
|
||||
* floating point registers: Registers.
|
||||
* floating point, MIPS remote: MIPS Remote.
|
||||
* flush_i_cache: Bootstrapping.
|
||||
* focus of debugging: Threads.
|
||||
* foo: Symbol Errors.
|
||||
* fork, debugging programs which call: Processes.
|
||||
* format options: Print Settings.
|
||||
* formatted output: Output Formats.
|
||||
* Fortran: Summary.
|
||||
* forward-search: Search.
|
||||
* frame <1>: Selection.
|
||||
* frame: Frames.
|
||||
* frame number: Frames.
|
||||
* frame pointer: Frames.
|
||||
* frameless execution: Frames.
|
||||
* Fujitsu: Remote Serial.
|
||||
* g++: C.
|
||||
* GDB bugs, reporting: Bug Reporting.
|
||||
* GDB reference card: Formatting Documentation.
|
||||
* GDBHISTFILE: History.
|
||||
* gdbserve.nlm: NetWare.
|
||||
* gdbserver: Server.
|
||||
* getDebugChar: Bootstrapping.
|
||||
* GNU C++: C.
|
||||
* GNU Emacs: Emacs.
|
||||
* h: Help.
|
||||
* H8/300 or H8/500 download: Target Commands.
|
||||
* H8/300 or H8/500 simulator: Simulator.
|
||||
* handle: Signals.
|
||||
* handle_exception: Stub Contents.
|
||||
* handling signals: Signals.
|
||||
* hardware watchpoints: Set Watchpoints.
|
||||
* hbreak: Set Breaks.
|
||||
* help: Help.
|
||||
* help target: Target Commands.
|
||||
* help user-defined: Define.
|
||||
* heuristic-fence-post (Alpha,MIPS): Alpha/MIPS Stack.
|
||||
* history expansion: History.
|
||||
* history file: History.
|
||||
* history number: Value History.
|
||||
* history save: History.
|
||||
* history size: History.
|
||||
* history substitution: History.
|
||||
* Hitachi: Remote Serial.
|
||||
* Hitachi SH download: Target Commands.
|
||||
* Hitachi SH simulator: Simulator.
|
||||
* horizontal-scroll-mode: Readline Init File Syntax.
|
||||
* i: Help.
|
||||
* i/o: Input/Output.
|
||||
* i386: Remote Serial.
|
||||
* i386-stub.c: Remote Serial.
|
||||
* i960: i960-Nindy Remote.
|
||||
* if: Define.
|
||||
* ignore: Conditions.
|
||||
* ignore count (of breakpoint): Conditions.
|
||||
* INCLUDE_RDB: VxWorks Remote.
|
||||
* info: Help.
|
||||
* info address: Symbols.
|
||||
* info all-registers: Registers.
|
||||
* info args: Frame Info.
|
||||
* info breakpoints: Set Breaks.
|
||||
* info catch: Frame Info.
|
||||
* info display: Auto Display.
|
||||
* info extensions: Show.
|
||||
* info f: Frame Info.
|
||||
* info files: Files.
|
||||
* info float: Floating Point Hardware.
|
||||
* info frame <1>: Frame Info.
|
||||
* info frame: Show.
|
||||
* info functions: Symbols.
|
||||
* info line: Machine Code.
|
||||
* info locals: Frame Info.
|
||||
* info proc: Process Information.
|
||||
* info proc id: Process Information.
|
||||
* info proc mappings: Process Information.
|
||||
* info proc status: Process Information.
|
||||
* info proc times: Process Information.
|
||||
* info program: Stopping.
|
||||
* info registers: Registers.
|
||||
* info s: Backtrace.
|
||||
* info set: Help.
|
||||
* info share: Files.
|
||||
* info sharedlibrary: Files.
|
||||
* info signals: Signals.
|
||||
* info source <1>: Symbols.
|
||||
* info source: Show.
|
||||
* info sources: Symbols.
|
||||
* info stack: Backtrace.
|
||||
* info target: Files.
|
||||
* info terminal: Input/Output.
|
||||
* info threads: Threads.
|
||||
* info types: Symbols.
|
||||
* info variables: Symbols.
|
||||
* info watchpoints: Set Watchpoints.
|
||||
* inheritance: Debugging C plus plus.
|
||||
* init file: Command Files.
|
||||
* init file name: Command Files.
|
||||
* initial frame: Frames.
|
||||
* initialization file, readline: Readline Init File.
|
||||
* innermost frame: Frames.
|
||||
* input-meta: Readline Init File Syntax.
|
||||
* inspect: Data.
|
||||
* installation: Installing GDB.
|
||||
* instructions, assembly: Machine Code.
|
||||
* Intel: Remote Serial.
|
||||
* interaction, readline: Readline Interaction.
|
||||
* internal GDB breakpoints: Set Breaks.
|
||||
* interrupt: Quitting GDB.
|
||||
* interrupting remote programs: Debug Session.
|
||||
* interrupting remote targets: Bootstrapping.
|
||||
* invalid input: Bug Criteria.
|
||||
* jump: Jumping.
|
||||
* keymap: Readline Init File Syntax.
|
||||
* kill: Kill Process.
|
||||
* kill ring: Readline Killing Commands.
|
||||
* killing text: Readline Killing Commands.
|
||||
* l: List.
|
||||
* languages: Languages.
|
||||
* latest breakpoint: Set Breaks.
|
||||
* leaving GDB: Quitting GDB.
|
||||
* linespec: List.
|
||||
* list: List.
|
||||
* listing machine instructions: Machine Code.
|
||||
* load FILENAME: Target Commands.
|
||||
* log file for EB29K: Remote Log.
|
||||
* m680x0: Remote Serial.
|
||||
* m68k-stub.c: Remote Serial.
|
||||
* machine instructions: Machine Code.
|
||||
* maint info breakpoints: Set Breaks.
|
||||
* maint print psymbols: Symbols.
|
||||
* maint print symbols: Symbols.
|
||||
* make: Shell Commands.
|
||||
* mapped: Files.
|
||||
* mark-modified-lines: Readline Init File Syntax.
|
||||
* member functions: Cplus expressions.
|
||||
* memory models, H8/500: Hitachi Special.
|
||||
* memory tracing: Breakpoints.
|
||||
* memory, viewing as typed object: Expressions.
|
||||
* memory-mapped symbol file: Files.
|
||||
* memset: Bootstrapping.
|
||||
* meta-flag: Readline Init File Syntax.
|
||||
* MIPS boards: MIPS Remote.
|
||||
* MIPS remote floating point: MIPS Remote.
|
||||
* MIPS remotedebug protocol: MIPS Remote.
|
||||
* MIPS stack: Alpha/MIPS Stack.
|
||||
* Modula-2: Modula-2.
|
||||
* Modula-2 built-ins: M2 Operators.
|
||||
* Modula-2 checks: M2 Checks.
|
||||
* Modula-2 constants: Built-In Func/Proc.
|
||||
* Modula-2 defaults: M2 Defaults.
|
||||
* Modula-2 operators: M2 Operators.
|
||||
* Modula-2, deviations from: Deviations.
|
||||
* Motorola 680x0: Remote Serial.
|
||||
* multiple processes: Processes.
|
||||
* multiple targets: Active Targets.
|
||||
* multiple threads: Threads.
|
||||
* n: Continuing and Stepping.
|
||||
* names of symbols: Symbols.
|
||||
* namespace in C++: Cplus expressions.
|
||||
* negative breakpoint numbers: Set Breaks.
|
||||
* New SYSTAG: Threads.
|
||||
* next: Continuing and Stepping.
|
||||
* nexti: Continuing and Stepping.
|
||||
* ni: Continuing and Stepping.
|
||||
* Nindy: i960-Nindy Remote.
|
||||
* notation, readline: Readline Bare Essentials.
|
||||
* number representation: Numbers.
|
||||
* numbers for breakpoints: Breakpoints.
|
||||
* object formats and C++: Cplus expressions.
|
||||
* online documentation: Help.
|
||||
* optimized code, debugging: Compilation.
|
||||
* outermost frame: Frames.
|
||||
* output: Output.
|
||||
* output formats: Output Formats.
|
||||
* output-meta: Readline Init File Syntax.
|
||||
* overloading: Breakpoint Menus.
|
||||
* overloading in C++: Debugging C plus plus.
|
||||
* packets, reporting on stdout: Protocol.
|
||||
* partial symbol dump: Symbols.
|
||||
* patching binaries: Patching.
|
||||
* path: Environment.
|
||||
* pauses in output: Screen Size.
|
||||
* pipes: Starting.
|
||||
* pointer, finding referent: Print Settings.
|
||||
* print: Data.
|
||||
* print settings: Print Settings.
|
||||
* printf: Output.
|
||||
* printing data: Data.
|
||||
* process image: Process Information.
|
||||
* processes, multiple: Processes.
|
||||
* prompt: Prompt.
|
||||
* protocol, GDB remote serial: Protocol.
|
||||
* ptype: Symbols.
|
||||
* putDebugChar: Bootstrapping.
|
||||
* pwd: Working Directory.
|
||||
* q: Quitting GDB.
|
||||
* quit [EXPRESSION]: Quitting GDB.
|
||||
* quotes in commands: Completion.
|
||||
* quoting names: Symbols.
|
||||
* raise exceptions: Set Catchpoints.
|
||||
* range checking: Type Checking.
|
||||
* rbreak: Set Breaks.
|
||||
* reading symbols immediately: Files.
|
||||
* readline: Editing.
|
||||
* readnow: Files.
|
||||
* redirection: Input/Output.
|
||||
* reference card: Formatting Documentation.
|
||||
* reference declarations: Cplus expressions.
|
||||
* register stack, AMD29K: Registers.
|
||||
* registers: Registers.
|
||||
* regular expression: Set Breaks.
|
||||
* reloading symbols: Symbols.
|
||||
* remote connection without stubs: Server.
|
||||
* remote debugging: Remote.
|
||||
* remote programs, interrupting: Debug Session.
|
||||
* remote serial debugging summary: Debug Session.
|
||||
* remote serial debugging, overview: Remote Serial.
|
||||
* remote serial protocol: Protocol.
|
||||
* remote serial stub: Stub Contents.
|
||||
* remote serial stub list: Remote Serial.
|
||||
* remote serial stub, initialization: Stub Contents.
|
||||
* remote serial stub, main routine: Stub Contents.
|
||||
* remote stub, example: Protocol.
|
||||
* remote stub, support routines: Bootstrapping.
|
||||
* remotedebug, MIPS protocol: MIPS Remote.
|
||||
* remotetimeout: Sparclet Remote.
|
||||
* repeating commands: Command Syntax.
|
||||
* reporting bugs in GDB: GDB Bugs.
|
||||
* reset: Nindy Reset.
|
||||
* response time, MIPS debugging: Alpha/MIPS Stack.
|
||||
* resuming execution: Continuing and Stepping.
|
||||
* RET: Command Syntax.
|
||||
* retransmit-timeout, MIPS protocol: MIPS Remote.
|
||||
* return: Returning.
|
||||
* returning from a function: Returning.
|
||||
* reverse-search: Search.
|
||||
* run: Starting.
|
||||
* running: Starting.
|
||||
* Running: Sparclet Remote.
|
||||
* running 29K programs: EB29K Remote.
|
||||
* running and debugging Sparclet programs: Sparclet Execution.
|
||||
* running VxWorks tasks: VxWorks Attach.
|
||||
* rwatch: Set Watchpoints.
|
||||
* s: Continuing and Stepping.
|
||||
* saving symbol table: Files.
|
||||
* scope: M2 Scope.
|
||||
* search: Search.
|
||||
* searching: Search.
|
||||
* section: Files.
|
||||
* select-frame: Frames.
|
||||
* selected frame: Stack.
|
||||
* serial connections, debugging: Protocol.
|
||||
* serial device, Hitachi micros: Hitachi Boards.
|
||||
* serial line speed, Hitachi micros: Hitachi Boards.
|
||||
* serial line, target remote: Debug Session.
|
||||
* serial protocol, GDB remote: Protocol.
|
||||
* set: Help.
|
||||
* set args: Arguments.
|
||||
* set assembly-language: Machine Code.
|
||||
* set check <1>: Type Checking.
|
||||
* set check: Range Checking.
|
||||
* set check range: Range Checking.
|
||||
* set check type: Type Checking.
|
||||
* set complaints: Messages/Warnings.
|
||||
* set confirm: Messages/Warnings.
|
||||
* set demangle-style: Print Settings.
|
||||
* set editing: Editing.
|
||||
* set endian auto: Byte Order.
|
||||
* set endian big: Byte Order.
|
||||
* set endian little: Byte Order.
|
||||
* set environment: Environment.
|
||||
* set extension-language: Show.
|
||||
* set gnutarget: Target Commands.
|
||||
* set height: Screen Size.
|
||||
* set history expansion: History.
|
||||
* set history filename: History.
|
||||
* set history save: History.
|
||||
* set history size: History.
|
||||
* set input-radix: Numbers.
|
||||
* set language: Manually.
|
||||
* set listsize: List.
|
||||
* set machine: Hitachi Special.
|
||||
* set memory MOD: Hitachi Special.
|
||||
* set mipsfpu: MIPS Remote.
|
||||
* set output-radix: Numbers.
|
||||
* set print address: Print Settings.
|
||||
* set print array: Print Settings.
|
||||
* set print asm-demangle: Print Settings.
|
||||
* set print demangle: Print Settings.
|
||||
* set print elements: Print Settings.
|
||||
* set print max-symbolic-offset: Print Settings.
|
||||
* set print null-stop: Print Settings.
|
||||
* set print object: Print Settings.
|
||||
* set print pretty: Print Settings.
|
||||
* set print sevenbit-strings: Print Settings.
|
||||
* set print static-members: Print Settings.
|
||||
* set print symbol-filename: Print Settings.
|
||||
* set print union: Print Settings.
|
||||
* set print vtbl: Print Settings.
|
||||
* set processor ARGS: MIPS Remote.
|
||||
* set prompt: Prompt.
|
||||
* set remotedebug <1>: Protocol.
|
||||
* set remotedebug: MIPS Remote.
|
||||
* set retransmit-timeout: MIPS Remote.
|
||||
* set rstack_high_address: Registers.
|
||||
* set symbol-reloading: Symbols.
|
||||
* set timeout: MIPS Remote.
|
||||
* set variable: Assignment.
|
||||
* set verbose: Messages/Warnings.
|
||||
* set width: Screen Size.
|
||||
* set write: Patching.
|
||||
* set_debug_traps: Stub Contents.
|
||||
* setting variables: Assignment.
|
||||
* setting watchpoints: Set Watchpoints.
|
||||
* SH: Remote Serial.
|
||||
* sh-stub.c: Remote Serial.
|
||||
* share: Files.
|
||||
* shared libraries: Files.
|
||||
* sharedlibrary: Files.
|
||||
* shell: Shell Commands.
|
||||
* shell escape: Shell Commands.
|
||||
* show: Help.
|
||||
* show args: Arguments.
|
||||
* show check range: Range Checking.
|
||||
* show check type: Type Checking.
|
||||
* show commands: History.
|
||||
* show complaints: Messages/Warnings.
|
||||
* show confirm: Messages/Warnings.
|
||||
* show convenience: Convenience Vars.
|
||||
* show copying: Help.
|
||||
* show demangle-style: Print Settings.
|
||||
* show directories: Source Path.
|
||||
* show editing: Editing.
|
||||
* show endian: Byte Order.
|
||||
* show environment: Environment.
|
||||
* show gnutarget: Target Commands.
|
||||
* show height: Screen Size.
|
||||
* show history: History.
|
||||
* show input-radix: Numbers.
|
||||
* show language: Show.
|
||||
* show listsize: List.
|
||||
* show machine: Hitachi Special.
|
||||
* show mipsfpu: MIPS Remote.
|
||||
* show output-radix: Numbers.
|
||||
* show paths: Environment.
|
||||
* show print address: Print Settings.
|
||||
* show print array: Print Settings.
|
||||
* show print asm-demangle: Print Settings.
|
||||
* show print demangle: Print Settings.
|
||||
* show print elements: Print Settings.
|
||||
* show print max-symbolic-offset: Print Settings.
|
||||
* show print object: Print Settings.
|
||||
* show print pretty: Print Settings.
|
||||
* show print sevenbit-strings: Print Settings.
|
||||
* show print static-members: Print Settings.
|
||||
* show print symbol-filename: Print Settings.
|
||||
* show print union: Print Settings.
|
||||
* show print vtbl: Print Settings.
|
||||
* show processor: MIPS Remote.
|
||||
* show prompt: Prompt.
|
||||
* show remotedebug <1>: MIPS Remote.
|
||||
* show remotedebug: Protocol.
|
||||
* show retransmit-timeout: MIPS Remote.
|
||||
* show rstack_high_address: Registers.
|
||||
* show symbol-reloading: Symbols.
|
||||
* show timeout: MIPS Remote.
|
||||
* show user: Define.
|
||||
* show values: Value History.
|
||||
* show verbose: Messages/Warnings.
|
||||
* show version: Help.
|
||||
* show warranty: Help.
|
||||
* show width: Screen Size.
|
||||
* show write: Patching.
|
||||
* show-all-if-ambiguous: Readline Init File Syntax.
|
||||
* si: Continuing and Stepping.
|
||||
* signal: Signaling.
|
||||
* signals: Signals.
|
||||
* silent: Break Commands.
|
||||
* sim: Simulator.
|
||||
* simulator: Simulator.
|
||||
* simulator, H8/300 or H8/500: Simulator.
|
||||
* simulator, Hitachi SH: Simulator.
|
||||
* simulator, Z8000: Simulator.
|
||||
* size of screen: Screen Size.
|
||||
* software watchpoints: Set Watchpoints.
|
||||
* source: Command Files.
|
||||
* source path: Source Path.
|
||||
* Sparc: Remote Serial.
|
||||
* sparc-stub.c: Remote Serial.
|
||||
* sparcl-stub.c: Remote Serial.
|
||||
* Sparclet: Sparclet Remote.
|
||||
* SparcLite: Remote Serial.
|
||||
* speed: Hitachi Boards.
|
||||
* ST2000 auxiliary commands: ST2000 Remote.
|
||||
* st2000 CMD: ST2000 Remote.
|
||||
* stack frame: Frames.
|
||||
* stack on Alpha: Alpha/MIPS Stack.
|
||||
* stack on MIPS: Alpha/MIPS Stack.
|
||||
* stack traces: Backtrace.
|
||||
* stacking targets: Active Targets.
|
||||
* starting: Starting.
|
||||
* STDBUG commands (ST2000): ST2000 Remote.
|
||||
* step: Continuing and Stepping.
|
||||
* stepi: Continuing and Stepping.
|
||||
* stepping: Continuing and Stepping.
|
||||
* stopped threads: Thread Stops.
|
||||
* stub example, remote debugging: Protocol.
|
||||
* stupid questions: Messages/Warnings.
|
||||
* switching threads: Threads.
|
||||
* switching threads automatically: Threads.
|
||||
* symbol decoding style, C++: Print Settings.
|
||||
* symbol dump: Symbols.
|
||||
* symbol names: Symbols.
|
||||
* symbol overloading: Breakpoint Menus.
|
||||
* symbol table: Files.
|
||||
* symbol-file: Files.
|
||||
* symbols, reading immediately: Files.
|
||||
* target: Targets.
|
||||
* target abug: Target Commands.
|
||||
* target adapt: Target Commands.
|
||||
* target amd-eb: Target Commands.
|
||||
* target array: Target Commands.
|
||||
* target bug: Target Commands.
|
||||
* target byte order: Byte Order.
|
||||
* target core: Target Commands.
|
||||
* target cpu32bug: Target Commands.
|
||||
* target dbug: Target Commands.
|
||||
* target ddb: Target Commands.
|
||||
* target ddb PORT: MIPS Remote.
|
||||
* target dink32: Target Commands.
|
||||
* target e7000 <1>: Hitachi ICE.
|
||||
* target e7000: Target Commands.
|
||||
* target es1800: Target Commands.
|
||||
* target est: Target Commands.
|
||||
* target exec: Target Commands.
|
||||
* target hms: Target Commands.
|
||||
* target lsi: Target Commands.
|
||||
* target lsi PORT: MIPS Remote.
|
||||
* target m32r: Target Commands.
|
||||
* target mips: Target Commands.
|
||||
* target mips PORT: MIPS Remote.
|
||||
* target mon960: Target Commands.
|
||||
* target nindy: Target Commands.
|
||||
* target nrom: Target Commands.
|
||||
* target op50n: Target Commands.
|
||||
* target pmon: Target Commands.
|
||||
* target pmon PORT: MIPS Remote.
|
||||
* target ppcbug: Target Commands.
|
||||
* target ppcbug1: Target Commands.
|
||||
* target r3900: Target Commands.
|
||||
* target rdi: Target Commands.
|
||||
* target rdp: Target Commands.
|
||||
* target remote: Target Commands.
|
||||
* target rom68k: Target Commands.
|
||||
* target rombug: Target Commands.
|
||||
* target sds: Target Commands.
|
||||
* target sh3: Target Commands.
|
||||
* target sh3e: Target Commands.
|
||||
* target sim <1>: Target Commands.
|
||||
* target sim: Simulator.
|
||||
* target sparclite: Target Commands.
|
||||
* target st2000: Target Commands.
|
||||
* target udi: Target Commands.
|
||||
* target vxworks: Target Commands.
|
||||
* target w89k: Target Commands.
|
||||
* tbreak: Set Breaks.
|
||||
* TCP port, target remote: Debug Session.
|
||||
* terminal: Input/Output.
|
||||
* thbreak: Set Breaks.
|
||||
* this: Cplus expressions.
|
||||
* thread apply: Threads.
|
||||
* thread breakpoints: Thread Stops.
|
||||
* thread identifier (GDB): Threads.
|
||||
* thread identifier (system): Threads.
|
||||
* thread number: Threads.
|
||||
* thread THREADNO: Threads.
|
||||
* threads and watchpoints: Set Watchpoints.
|
||||
* threads of execution: Threads.
|
||||
* threads, automatic switching: Threads.
|
||||
* threads, continuing: Thread Stops.
|
||||
* threads, stopped: Thread Stops.
|
||||
* timeout, MIPS protocol: MIPS Remote.
|
||||
* tracebacks: Backtrace.
|
||||
* tty: Input/Output.
|
||||
* type casting memory: Expressions.
|
||||
* type checking: Checks.
|
||||
* type conversions in C++: Cplus expressions.
|
||||
* u: Continuing and Stepping.
|
||||
* UDI: UDI29K Remote.
|
||||
* udi: UDI29K Remote.
|
||||
* undisplay: Auto Display.
|
||||
* unknown address, locating: Output Formats.
|
||||
* unset environment: Environment.
|
||||
* until: Continuing and Stepping.
|
||||
* up: Selection.
|
||||
* up-silently: Selection.
|
||||
* user-defined command: Define.
|
||||
* value history: Value History.
|
||||
* variable name conflict: Variables.
|
||||
* variable values, wrong: Variables.
|
||||
* variables, setting: Assignment.
|
||||
* version number: Help.
|
||||
* visible-stats: Readline Init File Syntax.
|
||||
* VxWorks: VxWorks Remote.
|
||||
* vxworks-timeout: VxWorks Remote.
|
||||
* watch: Set Watchpoints.
|
||||
* watchpoints: Breakpoints.
|
||||
* watchpoints and threads: Set Watchpoints.
|
||||
* whatis: Symbols.
|
||||
* where: Backtrace.
|
||||
* while: Define.
|
||||
* wild pointer, interpreting: Print Settings.
|
||||
* word completion: Completion.
|
||||
* working directory: Source Path.
|
||||
* working directory (of your program): Working Directory.
|
||||
* working language: Languages.
|
||||
* writing into corefiles: Patching.
|
||||
* writing into executables: Patching.
|
||||
* wrong values: Variables.
|
||||
* x: Memory.
|
||||
* XCOFF and C++: Cplus expressions.
|
||||
* yanking text: Readline Killing Commands.
|
||||
* Z8000 simulator: Simulator.
|
||||
* {TYPE}: Expressions.
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,639 @@
|
|||
This is Info file ./gdb.info, produced by Makeinfo version 1.68 from
|
||||
the input file gdb.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Gdb: (gdb). The GNU debugger.
|
||||
END-INFO-DIR-ENTRY
|
||||
This file documents the GNU debugger GDB.
|
||||
|
||||
This is the Seventh Edition, February 1999, of `Debugging with GDB:
|
||||
the GNU Source-Level Debugger' for GDB Version 4.18.
|
||||
|
||||
Copyright (C) 1988-1999 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided also
|
||||
that the entire resulting derived work is distributed under the terms
|
||||
of a permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions.
|
||||
|
||||
|
||||
File: gdb.info, Node: Commands For Completion, Next: Keyboard Macros, Prev: Numeric Arguments, Up: Bindable Readline Commands
|
||||
|
||||
Letting Readline Type For You
|
||||
-----------------------------
|
||||
|
||||
`complete (TAB)'
|
||||
Attempt to do completion on the text before the cursor. This is
|
||||
application-specific. Generally, if you are typing a filename
|
||||
argument, you can do filename completion; if you are typing a
|
||||
command, you can do command completion; if you are typing in a
|
||||
symbol to GDB, you can do symbol name completion; if you are
|
||||
typing in a variable to Bash, you can do variable name completion,
|
||||
and so on.
|
||||
|
||||
`possible-completions (M-?)'
|
||||
List the possible completions of the text before the cursor.
|
||||
|
||||
`insert-completions (M-*)'
|
||||
Insert all completions of the text before point that would have
|
||||
been generated by `possible-completions'.
|
||||
|
||||
`menu-complete ()'
|
||||
Similar to `complete', but replaces the word to be completed with
|
||||
a single match from the list of possible completions. Repeated
|
||||
execution of `menu-complete' steps through the list of possible
|
||||
completions, inserting each match in turn. At the end of the list
|
||||
of completions, the bell is rung and the original text is restored.
|
||||
An argument of N moves N positions forward in the list of matches;
|
||||
a negative argument may be used to move backward through the list.
|
||||
This command is intended to be bound to `TAB', but is unbound by
|
||||
default.
|
||||
|
||||
|
||||
File: gdb.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands
|
||||
|
||||
Keyboard Macros
|
||||
---------------
|
||||
|
||||
`start-kbd-macro (C-x ()'
|
||||
Begin saving the characters typed into the current keyboard macro.
|
||||
|
||||
`end-kbd-macro (C-x ))'
|
||||
Stop saving the characters typed into the current keyboard macro
|
||||
and save the definition.
|
||||
|
||||
`call-last-kbd-macro (C-x e)'
|
||||
Re-execute the last keyboard macro defined, by making the
|
||||
characters in the macro appear as if typed at the keyboard.
|
||||
|
||||
|
||||
File: gdb.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands
|
||||
|
||||
Some Miscellaneous Commands
|
||||
---------------------------
|
||||
|
||||
`re-read-init-file (C-x C-r)'
|
||||
Read in the contents of the inputrc file, and incorporate any
|
||||
bindings or variable assignments found there.
|
||||
|
||||
`abort (C-g)'
|
||||
Abort the current editing command and ring the terminal's bell
|
||||
(subject to the setting of `bell-style').
|
||||
|
||||
`do-uppercase-version (M-a, M-b, M-X, ...)'
|
||||
If the metafied character X is lowercase, run the command that is
|
||||
bound to the corresponding uppercase character.
|
||||
|
||||
`prefix-meta (ESC)'
|
||||
Make the next character typed be metafied. This is for keyboards
|
||||
without a meta key. Typing `ESC f' is equivalent to typing `M-f'.
|
||||
|
||||
`undo (C-_, C-x C-u)'
|
||||
Incremental undo, separately remembered for each line.
|
||||
|
||||
`revert-line (M-r)'
|
||||
Undo all changes made to this line. This is like executing the
|
||||
`undo' command enough times to get back to the beginning.
|
||||
|
||||
`tilde-expand (M-~)'
|
||||
Perform tilde expansion on the current word.
|
||||
|
||||
`set-mark (C-@)'
|
||||
Set the mark to the current point. If a numeric argument is
|
||||
supplied, the mark is set to that position.
|
||||
|
||||
`exchange-point-and-mark (C-x C-x)'
|
||||
Swap the point with the mark. The current cursor position is set
|
||||
to the saved position, and the old cursor position is saved as the
|
||||
mark.
|
||||
|
||||
`character-search (C-])'
|
||||
A character is read and point is moved to the next occurrence of
|
||||
that character. A negative count searches for previous
|
||||
occurrences.
|
||||
|
||||
`character-search-backward (M-C-])'
|
||||
A character is read and point is moved to the previous occurrence
|
||||
of that character. A negative count searches for subsequent
|
||||
occurrences.
|
||||
|
||||
`insert-comment (M-#)'
|
||||
The value of the `comment-begin' variable is inserted at the
|
||||
beginning of the current line, and the line is accepted as if a
|
||||
newline had been typed.
|
||||
|
||||
`dump-functions ()'
|
||||
Print all of the functions and their key bindings to the Readline
|
||||
output stream. If a numeric argument is supplied, the output is
|
||||
formatted in such a way that it can be made part of an INPUTRC
|
||||
file. This command is unbound by default.
|
||||
|
||||
`dump-variables ()'
|
||||
Print all of the settable variables and their values to the
|
||||
Readline output stream. If a numeric argument is supplied, the
|
||||
output is formatted in such a way that it can be made part of an
|
||||
INPUTRC file. This command is unbound by default.
|
||||
|
||||
`dump-macros ()'
|
||||
Print all of the Readline key sequences bound to macros and the
|
||||
strings they ouput. If a numeric argument is supplied, the output
|
||||
is formatted in such a way that it can be made part of an INPUTRC
|
||||
file. This command is unbound by default.
|
||||
|
||||
|
||||
File: gdb.info, Node: Readline vi Mode, Prev: Bindable Readline Commands, Up: Command Line Editing
|
||||
|
||||
Readline vi Mode
|
||||
================
|
||||
|
||||
While the Readline library does not have a full set of `vi' editing
|
||||
functions, it does contain enough to allow simple editing of the line.
|
||||
The Readline `vi' mode behaves as specified in the POSIX 1003.2
|
||||
standard.
|
||||
|
||||
In order to switch interactively between `emacs' and `vi' editing
|
||||
modes, use the command M-C-j (toggle-editing-mode). The Readline
|
||||
default is `emacs' mode.
|
||||
|
||||
When you enter a line in `vi' mode, you are already placed in
|
||||
`insertion' mode, as if you had typed an `i'. Pressing <ESC> switches
|
||||
you into `command' mode, where you can edit the text of the line with
|
||||
the standard `vi' movement keys, move to previous history lines with
|
||||
`k' and subsequent lines with `j', and so forth.
|
||||
|
||||
|
||||
File: gdb.info, Node: Using History Interactively, Next: Installing GDB, Prev: Command Line Editing, Up: Top
|
||||
|
||||
Using History Interactively
|
||||
***************************
|
||||
|
||||
This chapter describes how to use the GNU History Library
|
||||
interactively, from a user's standpoint.
|
||||
|
||||
* Menu:
|
||||
|
||||
* History Interaction:: What it feels like using History as a user.
|
||||
|
||||
|
||||
File: gdb.info, Node: History Interaction, Up: Using History Interactively
|
||||
|
||||
History Interaction
|
||||
===================
|
||||
|
||||
The History library provides a history expansion feature similar to
|
||||
the history expansion in `csh'. The following text describes the
|
||||
syntax you use to manipulate history information.
|
||||
|
||||
History expansion takes two parts. In the first part, determine
|
||||
which line from the previous history will be used for substitution.
|
||||
This line is called the "event". In the second part, select portions
|
||||
of that line for inclusion into the current line. These portions are
|
||||
called "words". GDB breaks the line into words in the same way that
|
||||
the Bash shell does, so that several English (or Unix) words surrounded
|
||||
by quotes are considered one word.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Event Designators:: How to specify which history line to use.
|
||||
* Word Designators:: Specifying which words are of interest.
|
||||
* Modifiers:: Modifying the results of susbstitution.
|
||||
|
||||
|
||||
File: gdb.info, Node: Event Designators, Next: Word Designators, Up: History Interaction
|
||||
|
||||
Event Designators
|
||||
-----------------
|
||||
|
||||
An "event designator" is a reference to a command line entry in the
|
||||
history list.
|
||||
|
||||
`!'
|
||||
Start a history subsititution, except when followed by a space,
|
||||
tab, or the end of the line... <=> or <(>.
|
||||
|
||||
`!!'
|
||||
Refer to the previous command. This is a synonym for `!-1'.
|
||||
|
||||
`!n'
|
||||
Refer to command line N.
|
||||
|
||||
`!-n'
|
||||
Refer to the command line N lines back.
|
||||
|
||||
`!string'
|
||||
Refer to the most recent command starting with STRING.
|
||||
|
||||
`!?string'[`?']
|
||||
Refer to the most recent command containing STRING.
|
||||
|
||||
|
||||
File: gdb.info, Node: Word Designators, Next: Modifiers, Prev: Event Designators, Up: History Interaction
|
||||
|
||||
Word Designators
|
||||
----------------
|
||||
|
||||
A <:> separates the event designator from the "word designator". It
|
||||
can be omitted if the word designator begins with a <^>, <$>, <*> or
|
||||
<%>. Words are numbered from the beginning of the line, with the first
|
||||
word being denoted by a 0 (zero).
|
||||
|
||||
`0 (zero)'
|
||||
The zero'th word. For many applications, this is the command word.
|
||||
|
||||
`n'
|
||||
The N'th word.
|
||||
|
||||
`^'
|
||||
The first argument. that is, word 1.
|
||||
|
||||
`$'
|
||||
The last argument.
|
||||
|
||||
`%'
|
||||
The word matched by the most recent `?string?' search.
|
||||
|
||||
`x-y'
|
||||
A range of words; `-Y' Abbreviates `0-Y'.
|
||||
|
||||
`*'
|
||||
All of the words, excepting the zero'th. This is a synonym for
|
||||
`1-$'. It is not an error to use <*> if there is just one word in
|
||||
the event. The empty string is returned in that case.
|
||||
|
||||
|
||||
File: gdb.info, Node: Modifiers, Prev: Word Designators, Up: History Interaction
|
||||
|
||||
Modifiers
|
||||
---------
|
||||
|
||||
After the optional word designator, you can add a sequence of one or
|
||||
more of the following "modifiers", each preceded by a <:>.
|
||||
|
||||
`#'
|
||||
The entire command line typed so far. This means the current
|
||||
command, not the previous command.
|
||||
|
||||
`h'
|
||||
Remove a trailing pathname component, leaving only the head.
|
||||
|
||||
`r'
|
||||
Remove a trailing suffix of the form `.'SUFFIX, leaving the
|
||||
basename.
|
||||
|
||||
`e'
|
||||
Remove all but the suffix.
|
||||
|
||||
`t'
|
||||
Remove all leading pathname components, leaving the tail.
|
||||
|
||||
`p'
|
||||
Print the new command but do not execute it.
|
||||
|
||||
|
||||
File: gdb.info, Node: Formatting Documentation, Next: Command Line Editing, Prev: GDB Bugs, Up: Top
|
||||
|
||||
Formatting Documentation
|
||||
************************
|
||||
|
||||
The GDB 4 release includes an already-formatted reference card, ready
|
||||
for printing with PostScript or Ghostscript, in the `gdb' subdirectory
|
||||
of the main source directory(1). If you can use PostScript or
|
||||
Ghostscript with your printer, you can print the reference card
|
||||
immediately with `refcard.ps'.
|
||||
|
||||
The release also includes the source for the reference card. You
|
||||
can format it, using TeX, by typing:
|
||||
|
||||
make refcard.dvi
|
||||
|
||||
The GDB reference card is designed to print in "landscape" mode on
|
||||
US "letter" size paper; that is, on a sheet 11 inches wide by 8.5 inches
|
||||
high. You will need to specify this form of printing as an option to
|
||||
your DVI output program.
|
||||
|
||||
All the documentation for GDB comes as part of the machine-readable
|
||||
distribution. The documentation is written in Texinfo format, which is
|
||||
a documentation system that uses a single source file to produce both
|
||||
on-line information and a printed manual. You can use one of the Info
|
||||
formatting commands to create the on-line version of the documentation
|
||||
and TeX (or `texi2roff') to typeset the printed version.
|
||||
|
||||
GDB includes an already formatted copy of the on-line Info version
|
||||
of this manual in the `gdb' subdirectory. The main Info file is
|
||||
`gdb-4.18/gdb/gdb.info', and it refers to subordinate files matching
|
||||
`gdb.info*' in the same directory. If necessary, you can print out
|
||||
these files, or read them with any editor; but they are easier to read
|
||||
using the `info' subsystem in GNU Emacs or the standalone `info'
|
||||
program, available as part of the GNU Texinfo distribution.
|
||||
|
||||
If you want to format these Info files yourself, you need one of the
|
||||
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
|
||||
|
||||
If you have `makeinfo' installed, and are in the top level GDB
|
||||
source directory (`gdb-4.18', in the case of version 4.18), you can
|
||||
make the Info file by typing:
|
||||
|
||||
cd gdb
|
||||
make gdb.info
|
||||
|
||||
If you want to typeset and print copies of this manual, you need TeX,
|
||||
a program to print its DVI output files, and `texinfo.tex', the Texinfo
|
||||
definitions file.
|
||||
|
||||
TeX is a typesetting program; it does not print files directly, but
|
||||
produces output files called DVI files. To print a typeset document,
|
||||
you need a program to print DVI files. If your system has TeX
|
||||
installed, chances are it has such a program. The precise command to
|
||||
use depends on your system; `lpr -d' is common; another (for PostScript
|
||||
devices) is `dvips'. The DVI print command may require a file name
|
||||
without any extension or a `.dvi' extension.
|
||||
|
||||
TeX also requires a macro definitions file called `texinfo.tex'.
|
||||
This file tells TeX how to typeset a document written in Texinfo
|
||||
format. On its own, TeX cannot either read or typeset a Texinfo file.
|
||||
`texinfo.tex' is distributed with GDB and is located in the
|
||||
`gdb-VERSION-NUMBER/texinfo' directory.
|
||||
|
||||
If you have TeX and a DVI printer program installed, you can typeset
|
||||
and print this manual. First switch to the the `gdb' subdirectory of
|
||||
the main source directory (for example, to `gdb-4.18/gdb') and type:
|
||||
|
||||
make gdb.dvi
|
||||
|
||||
Then give `gdb.dvi' to your DVI printing program.
|
||||
|
||||
---------- Footnotes ----------
|
||||
|
||||
(1) In `gdb-4.18/gdb/refcard.ps' of the version 4.18 release.
|
||||
|
||||
|
||||
File: gdb.info, Node: Installing GDB, Next: Index, Prev: Using History Interactively, Up: Top
|
||||
|
||||
Installing GDB
|
||||
**************
|
||||
|
||||
GDB comes with a `configure' script that automates the process of
|
||||
preparing GDB for installation; you can then use `make' to build the
|
||||
`gdb' program.
|
||||
|
||||
The GDB distribution includes all the source code you need for GDB
|
||||
in a single directory, whose name is usually composed by appending the
|
||||
version number to `gdb'.
|
||||
|
||||
For example, the GDB version 4.18 distribution is in the `gdb-4.18'
|
||||
directory. That directory contains:
|
||||
|
||||
`gdb-4.18/configure (and supporting files)'
|
||||
script for configuring GDB and all its supporting libraries
|
||||
|
||||
`gdb-4.18/gdb'
|
||||
the source specific to GDB itself
|
||||
|
||||
`gdb-4.18/bfd'
|
||||
source for the Binary File Descriptor library
|
||||
|
||||
`gdb-4.18/include'
|
||||
GNU include files
|
||||
|
||||
`gdb-4.18/libiberty'
|
||||
source for the `-liberty' free software library
|
||||
|
||||
`gdb-4.18/opcodes'
|
||||
source for the library of opcode tables and disassemblers
|
||||
|
||||
`gdb-4.18/readline'
|
||||
source for the GNU command-line interface
|
||||
|
||||
`gdb-4.18/glob'
|
||||
source for the GNU filename pattern-matching subroutine
|
||||
|
||||
`gdb-4.18/mmalloc'
|
||||
source for the GNU memory-mapped malloc package
|
||||
|
||||
The simplest way to configure and build GDB is to run `configure'
|
||||
from the `gdb-VERSION-NUMBER' source directory, which in this example
|
||||
is the `gdb-4.18' directory.
|
||||
|
||||
First switch to the `gdb-VERSION-NUMBER' source directory if you are
|
||||
not already in it; then run `configure'. Pass the identifier for the
|
||||
platform on which GDB will run as an argument.
|
||||
|
||||
For example:
|
||||
|
||||
cd gdb-4.18
|
||||
./configure HOST
|
||||
make
|
||||
|
||||
where HOST is an identifier such as `sun4' or `decstation', that
|
||||
identifies the platform where GDB will run. (You can often leave off
|
||||
HOST; `configure' tries to guess the correct value by examining your
|
||||
system.)
|
||||
|
||||
Running `configure HOST' and then running `make' builds the `bfd',
|
||||
`readline', `mmalloc', and `libiberty' libraries, then `gdb' itself.
|
||||
The configured source files, and the binaries, are left in the
|
||||
corresponding source directories.
|
||||
|
||||
`configure' is a Bourne-shell (`/bin/sh') script; if your system
|
||||
does not recognize this automatically when you run a different shell,
|
||||
you may need to run `sh' on it explicitly:
|
||||
|
||||
sh configure HOST
|
||||
|
||||
If you run `configure' from a directory that contains source
|
||||
directories for multiple libraries or programs, such as the `gdb-4.18'
|
||||
source directory for version 4.18, `configure' creates configuration
|
||||
files for every directory level underneath (unless you tell it not to,
|
||||
with the `--norecursion' option).
|
||||
|
||||
You can run the `configure' script from any of the subordinate
|
||||
directories in the GDB distribution if you only want to configure that
|
||||
subdirectory, but be sure to specify a path to it.
|
||||
|
||||
For example, with version 4.18, type the following to configure only
|
||||
the `bfd' subdirectory:
|
||||
|
||||
cd gdb-4.18/bfd
|
||||
../configure HOST
|
||||
|
||||
You can install `gdb' anywhere; it has no hardwired paths. However,
|
||||
you should make sure that the shell on your path (named by the `SHELL'
|
||||
environment variable) is publicly readable. Remember that GDB uses the
|
||||
shell to start your program--some systems refuse to let GDB debug child
|
||||
processes whose programs are not readable.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Separate Objdir:: Compiling GDB in another directory
|
||||
* Config Names:: Specifying names for hosts and targets
|
||||
* Configure Options:: Summary of options for configure
|
||||
|
||||
|
||||
File: gdb.info, Node: Separate Objdir, Next: Config Names, Prev: Installing GDB, Up: Installing GDB
|
||||
|
||||
Compiling GDB in another directory
|
||||
==================================
|
||||
|
||||
If you want to run GDB versions for several host or target machines,
|
||||
you need a different `gdb' compiled for each combination of host and
|
||||
target. `configure' is designed to make this easy by allowing you to
|
||||
generate each configuration in a separate subdirectory, rather than in
|
||||
the source directory. If your `make' program handles the `VPATH'
|
||||
feature (GNU `make' does), running `make' in each of these directories
|
||||
builds the `gdb' program specified there.
|
||||
|
||||
To build `gdb' in a separate directory, run `configure' with the
|
||||
`--srcdir' option to specify where to find the source. (You also need
|
||||
to specify a path to find `configure' itself from your working
|
||||
directory. If the path to `configure' would be the same as the
|
||||
argument to `--srcdir', you can leave out the `--srcdir' option; it is
|
||||
assumed.)
|
||||
|
||||
For example, with version 4.18, you can build GDB in a separate
|
||||
directory for a Sun 4 like this:
|
||||
|
||||
cd gdb-4.18
|
||||
mkdir ../gdb-sun4
|
||||
cd ../gdb-sun4
|
||||
../gdb-4.18/configure sun4
|
||||
make
|
||||
|
||||
When `configure' builds a configuration using a remote source
|
||||
directory, it creates a tree for the binaries with the same structure
|
||||
(and using the same names) as the tree under the source directory. In
|
||||
the example, you'd find the Sun 4 library `libiberty.a' in the
|
||||
directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
|
||||
|
||||
One popular reason to build several GDB configurations in separate
|
||||
directories is to configure GDB for cross-compiling (where GDB runs on
|
||||
one machine--the "host"--while debugging programs that run on another
|
||||
machine--the "target"). You specify a cross-debugging target by giving
|
||||
the `--target=TARGET' option to `configure'.
|
||||
|
||||
When you run `make' to build a program or library, you must run it
|
||||
in a configured directory--whatever directory you were in when you
|
||||
called `configure' (or one of its subdirectories).
|
||||
|
||||
The `Makefile' that `configure' generates in each source directory
|
||||
also runs recursively. If you type `make' in a source directory such
|
||||
as `gdb-4.18' (or in a separate configured directory configured with
|
||||
`--srcdir=DIRNAME/gdb-4.18'), you will build all the required
|
||||
libraries, and then build GDB.
|
||||
|
||||
When you have multiple hosts or targets configured in separate
|
||||
directories, you can run `make' on them in parallel (for example, if
|
||||
they are NFS-mounted on each of the hosts); they will not interfere
|
||||
with each other.
|
||||
|
||||
|
||||
File: gdb.info, Node: Config Names, Next: Configure Options, Prev: Separate Objdir, Up: Installing GDB
|
||||
|
||||
Specifying names for hosts and targets
|
||||
======================================
|
||||
|
||||
The specifications used for hosts and targets in the `configure'
|
||||
script are based on a three-part naming scheme, but some short
|
||||
predefined aliases are also supported. The full naming scheme encodes
|
||||
three pieces of information in the following pattern:
|
||||
|
||||
ARCHITECTURE-VENDOR-OS
|
||||
|
||||
For example, you can use the alias `sun4' as a HOST argument, or as
|
||||
the value for TARGET in a `--target=TARGET' option. The equivalent
|
||||
full name is `sparc-sun-sunos4'.
|
||||
|
||||
The `configure' script accompanying GDB does not provide any query
|
||||
facility to list all supported host and target names or aliases.
|
||||
`configure' calls the Bourne shell script `config.sub' to map
|
||||
abbreviations to full names; you can read the script, if you wish, or
|
||||
you can use it to test your guesses on abbreviations--for example:
|
||||
|
||||
% sh config.sub i386-linux
|
||||
i386-pc-linux-gnu
|
||||
% sh config.sub alpha-linux
|
||||
alpha-unknown-linux-gnu
|
||||
% sh config.sub hp9k700
|
||||
hppa1.1-hp-hpux
|
||||
% sh config.sub sun4
|
||||
sparc-sun-sunos4.1.1
|
||||
% sh config.sub sun3
|
||||
m68k-sun-sunos4.1.1
|
||||
% sh config.sub i986v
|
||||
Invalid configuration `i986v': machine `i986v' not recognized
|
||||
|
||||
`config.sub' is also distributed in the GDB source directory
|
||||
(`gdb-4.18', for version 4.18).
|
||||
|
||||
|
||||
File: gdb.info, Node: Configure Options, Prev: Config Names, Up: Installing GDB
|
||||
|
||||
`configure' options
|
||||
===================
|
||||
|
||||
Here is a summary of the `configure' options and arguments that are
|
||||
most often useful for building GDB. `configure' also has several other
|
||||
options not listed here. *note (configure.info)What Configure Does::,
|
||||
for a full explanation of `configure'.
|
||||
|
||||
configure [--help]
|
||||
[--prefix=DIR]
|
||||
[--exec-prefix=DIR]
|
||||
[--srcdir=DIRNAME]
|
||||
[--norecursion] [--rm]
|
||||
[--target=TARGET]
|
||||
HOST
|
||||
|
||||
You may introduce options with a single `-' rather than `--' if you
|
||||
prefer; but you may abbreviate option names if you use `--'.
|
||||
|
||||
`--help'
|
||||
Display a quick summary of how to invoke `configure'.
|
||||
|
||||
`--prefix=DIR'
|
||||
Configure the source to install programs and files under directory
|
||||
`DIR'.
|
||||
|
||||
`--exec-prefix=DIR'
|
||||
Configure the source to install programs under directory `DIR'.
|
||||
|
||||
`--srcdir=DIRNAME'
|
||||
*Warning: using this option requires GNU `make', or another `make'
|
||||
that implements the `VPATH' feature.*
|
||||
Use this option to make configurations in directories separate
|
||||
from the GDB source directories. Among other things, you can use
|
||||
this to build (or maintain) several configurations simultaneously,
|
||||
in separate directories. `configure' writes configuration
|
||||
specific files in the current directory, but arranges for them to
|
||||
use the source in the directory DIRNAME. `configure' creates
|
||||
directories under the working directory in parallel to the source
|
||||
directories below DIRNAME.
|
||||
|
||||
`--norecursion'
|
||||
Configure only the directory level where `configure' is executed;
|
||||
do not propagate configuration to subdirectories.
|
||||
|
||||
`--target=TARGET'
|
||||
Configure GDB for cross-debugging programs running on the specified
|
||||
TARGET. Without this option, GDB is configured to debug programs
|
||||
that run on the same machine (HOST) as GDB itself.
|
||||
|
||||
There is no convenient way to generate a list of all available
|
||||
targets.
|
||||
|
||||
`HOST ...'
|
||||
Configure GDB to run on the specified HOST.
|
||||
|
||||
There is no convenient way to generate a list of all available
|
||||
hosts.
|
||||
|
||||
There are many other options available as well, but they are
|
||||
generally needed for special purposes only.
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,48 @@
|
|||
This is Info file gdbint.info, produced by Makeinfo version 1.68 from
|
||||
the input file ./gdbint.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Gdb-Internals: (gdbint). The GNU debugger's internals.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the internals of the GNU debugger GDB.
|
||||
|
||||
Copyright 1990-1999 Free Software Foundation, Inc. Contributed by
|
||||
Cygnus Solutions. Written by John Gilmore. Second Edition by Stan
|
||||
Shebs.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy or distribute modified versions of this
|
||||
manual under the terms of the GPL (for which purpose this text may be
|
||||
regarded as a program in the language TeX).
|
||||
|
||||
|
||||
Indirect:
|
||||
gdbint.info-1: 765
|
||||
gdbint.info-2: 41815
|
||||
gdbint.info-3: 91701
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top765
|
||||
Node: Requirements1371
|
||||
Node: Overall Structure2858
|
||||
Node: Algorithms6131
|
||||
Node: User Interface11141
|
||||
Node: Symbol Handling12259
|
||||
Node: Language Support26156
|
||||
Node: Host Definition31366
|
||||
Node: Target Architecture Definition41815
|
||||
Node: Target Vector Definition64431
|
||||
Node: Native Debugging66989
|
||||
Node: Support Libraries77194
|
||||
Node: Coding78904
|
||||
Node: Porting GDB91701
|
||||
Node: Hints94412
|
||||
Node: Getting Started94711
|
||||
Node: Debugging GDB98842
|
||||
|
||||
End Tag Table
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,316 @@
|
|||
This is Info file gdbint.info, produced by Makeinfo version 1.68 from
|
||||
the input file ./gdbint.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Gdb-Internals: (gdbint). The GNU debugger's internals.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the internals of the GNU debugger GDB.
|
||||
|
||||
Copyright 1990-1999 Free Software Foundation, Inc. Contributed by
|
||||
Cygnus Solutions. Written by John Gilmore. Second Edition by Stan
|
||||
Shebs.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy or distribute modified versions of this
|
||||
manual under the terms of the GPL (for which purpose this text may be
|
||||
regarded as a program in the language TeX).
|
||||
|
||||
|
||||
File: gdbint.info, Node: Porting GDB, Next: Hints, Prev: Coding, Up: Top
|
||||
|
||||
Porting GDB
|
||||
***********
|
||||
|
||||
Most of the work in making GDB compile on a new machine is in
|
||||
specifying the configuration of the machine. This is done in a
|
||||
dizzying variety of header files and configuration scripts, which we
|
||||
hope to make more sensible soon. Let's say your new host is called an
|
||||
XYZ (e.g. `sun4'), and its full three-part configuration name is
|
||||
`ARCH-XVEND-XOS' (e.g. `sparc-sun-sunos4'). In particular:
|
||||
|
||||
In the top level directory, edit `config.sub' and add ARCH, XVEND,
|
||||
and XOS to the lists of supported architectures, vendors, and operating
|
||||
systems near the bottom of the file. Also, add XYZ as an alias that
|
||||
maps to `ARCH-XVEND-XOS'. You can test your changes by running
|
||||
|
||||
./config.sub XYZ
|
||||
|
||||
and
|
||||
./config.sub `ARCH-XVEND-XOS'
|
||||
|
||||
which should both respond with `ARCH-XVEND-XOS' and no error messages.
|
||||
|
||||
You need to port BFD, if that hasn't been done already. Porting BFD
|
||||
is beyond the scope of this manual.
|
||||
|
||||
To configure GDB itself, edit `gdb/configure.host' to recognize your
|
||||
system and set `gdb_host' to XYZ, and (unless your desired target is
|
||||
already available) also edit `gdb/configure.tgt', setting `gdb_target'
|
||||
to something appropriate (for instance, XYZ).
|
||||
|
||||
Finally, you'll need to specify and define GDB's host-, native-, and
|
||||
target-dependent `.h' and `.c' files used for your configuration.
|
||||
|
||||
Configuring GDB for Release
|
||||
===========================
|
||||
|
||||
From the top level directory (containing `gdb', `bfd', `libiberty',
|
||||
and so on):
|
||||
make -f Makefile.in gdb.tar.gz
|
||||
|
||||
This will properly configure, clean, rebuild any files that are
|
||||
distributed pre-built (e.g. `c-exp.tab.c' or `refcard.ps'), and will
|
||||
then make a tarfile. (If the top level directory has already been
|
||||
configured, you can just do `make gdb.tar.gz' instead.)
|
||||
|
||||
This procedure requires:
|
||||
* symbolic links
|
||||
|
||||
* `makeinfo' (texinfo2 level)
|
||||
|
||||
* TeX
|
||||
|
||||
* `dvips'
|
||||
|
||||
* `yacc' or `bison'
|
||||
|
||||
... and the usual slew of utilities (`sed', `tar', etc.).
|
||||
|
||||
TEMPORARY RELEASE PROCEDURE FOR DOCUMENTATION
|
||||
---------------------------------------------
|
||||
|
||||
`gdb.texinfo' is currently marked up using the texinfo-2 macros,
|
||||
which are not yet a default for anything (but we have to start using
|
||||
them sometime).
|
||||
|
||||
For making paper, the only thing this implies is the right
|
||||
generation of `texinfo.tex' needs to be included in the distribution.
|
||||
|
||||
For making info files, however, rather than duplicating the texinfo2
|
||||
distribution, generate `gdb-all.texinfo' locally, and include the files
|
||||
`gdb.info*' in the distribution. Note the plural; `makeinfo' will
|
||||
split the document into one overall file and five or so included files.
|
||||
|
||||
|
||||
File: gdbint.info, Node: Hints, Prev: Porting GDB, Up: Top
|
||||
|
||||
Hints
|
||||
*****
|
||||
|
||||
Check the `README' file, it often has useful information that does
|
||||
not appear anywhere else in the directory.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Getting Started:: Getting started working on GDB
|
||||
* Debugging GDB:: Debugging GDB with itself
|
||||
|
||||
|
||||
File: gdbint.info, Node: Getting Started, Up: Hints
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
GDB is a large and complicated program, and if you first starting to
|
||||
work on it, it can be hard to know where to start. Fortunately, if you
|
||||
know how to go about it, there are ways to figure out what is going on.
|
||||
|
||||
This manual, the GDB Internals manual, has information which applies
|
||||
generally to many parts of GDB.
|
||||
|
||||
Information about particular functions or data structures are
|
||||
located in comments with those functions or data structures. If you
|
||||
run across a function or a global variable which does not have a
|
||||
comment correctly explaining what is does, this can be thought of as a
|
||||
bug in GDB; feel free to submit a bug report, with a suggested comment
|
||||
if you can figure out what the comment should say. If you find a
|
||||
comment which is actually wrong, be especially sure to report that.
|
||||
|
||||
Comments explaining the function of macros defined in host, target,
|
||||
or native dependent files can be in several places. Sometimes they are
|
||||
repeated every place the macro is defined. Sometimes they are where the
|
||||
macro is used. Sometimes there is a header file which supplies a
|
||||
default definition of the macro, and the comment is there. This manual
|
||||
also documents all the available macros.
|
||||
|
||||
Start with the header files. Once you some idea of how GDB's
|
||||
internal symbol tables are stored (see `symtab.h', `gdbtypes.h'), you
|
||||
will find it much easier to understand the code which uses and creates
|
||||
those symbol tables.
|
||||
|
||||
You may wish to process the information you are getting somehow, to
|
||||
enhance your understanding of it. Summarize it, translate it to another
|
||||
language, add some (perhaps trivial or non-useful) feature to GDB, use
|
||||
the code to predict what a test case would do and write the test case
|
||||
and verify your prediction, etc. If you are reading code and your eyes
|
||||
are starting to glaze over, this is a sign you need to use a more active
|
||||
approach.
|
||||
|
||||
Once you have a part of GDB to start with, you can find more
|
||||
specifically the part you are looking for by stepping through each
|
||||
function with the `next' command. Do not use `step' or you will
|
||||
quickly get distracted; when the function you are stepping through
|
||||
calls another function try only to get a big-picture understanding
|
||||
(perhaps using the comment at the beginning of the function being
|
||||
called) of what it does. This way you can identify which of the
|
||||
functions being called by the function you are stepping through is the
|
||||
one which you are interested in. You may need to examine the data
|
||||
structures generated at each stage, with reference to the comments in
|
||||
the header files explaining what the data structures are supposed to
|
||||
look like.
|
||||
|
||||
Of course, this same technique can be used if you are just reading
|
||||
the code, rather than actually stepping through it. The same general
|
||||
principle applies--when the code you are looking at calls something
|
||||
else, just try to understand generally what the code being called does,
|
||||
rather than worrying about all its details.
|
||||
|
||||
A good place to start when tracking down some particular area is
|
||||
with a command which invokes that feature. Suppose you want to know how
|
||||
single-stepping works. As a GDB user, you know that the `step' command
|
||||
invokes single-stepping. The command is invoked via command tables
|
||||
(see `command.h'); by convention the function which actually performs
|
||||
the command is formed by taking the name of the command and adding
|
||||
`_command', or in the case of an `info' subcommand, `_info'. For
|
||||
example, the `step' command invokes the `step_command' function and the
|
||||
`info display' command invokes `display_info'. When this convention is
|
||||
not followed, you might have to use `grep' or `M-x tags-search' in
|
||||
emacs, or run GDB on itself and set a breakpoint in `execute_command'.
|
||||
|
||||
If all of the above fail, it may be appropriate to ask for
|
||||
information on `bug-gdb'. But *never* post a generic question like "I
|
||||
was wondering if anyone could give me some tips about understanding
|
||||
GDB"--if we had some magic secret we would put it in this manual.
|
||||
Suggestions for improving the manual are always welcome, of course.
|
||||
|
||||
|
||||
File: gdbint.info, Node: Debugging GDB, Up: Hints
|
||||
|
||||
Debugging GDB with itself
|
||||
=========================
|
||||
|
||||
If GDB is limping on your machine, this is the preferred way to get
|
||||
it fully functional. Be warned that in some ancient Unix systems, like
|
||||
Ultrix 4.2, a program can't be running in one process while it is being
|
||||
debugged in another. Rather than typing the command `./gdb ./gdb',
|
||||
which works on Suns and such, you can copy `gdb' to `gdb2' and then
|
||||
type `./gdb ./gdb2'.
|
||||
|
||||
When you run GDB in the GDB source directory, it will read a
|
||||
`.gdbinit' file that sets up some simple things to make debugging gdb
|
||||
easier. The `info' command, when executed without a subcommand in a
|
||||
GDB being debugged by gdb, will pop you back up to the top level gdb.
|
||||
See `.gdbinit' for details.
|
||||
|
||||
If you use emacs, you will probably want to do a `make TAGS' after
|
||||
you configure your distribution; this will put the machine dependent
|
||||
routines for your local machine where they will be accessed first by
|
||||
`M-.'
|
||||
|
||||
Also, make sure that you've either compiled GDB with your local cc,
|
||||
or have run `fixincludes' if you are compiling with gcc.
|
||||
|
||||
Submitting Patches
|
||||
==================
|
||||
|
||||
Thanks for thinking of offering your changes back to the community of
|
||||
GDB users. In general we like to get well designed enhancements.
|
||||
Thanks also for checking in advance about the best way to transfer the
|
||||
changes.
|
||||
|
||||
The GDB maintainers will only install "cleanly designed" patches.
|
||||
You may not always agree on what is clean design.
|
||||
|
||||
If the maintainers don't have time to put the patch in when it
|
||||
arrives, or if there is any question about a patch, it goes into a
|
||||
large queue with everyone else's patches and bug reports.
|
||||
|
||||
The legal issue is that to incorporate substantial changes requires a
|
||||
copyright assignment from you and/or your employer, granting ownership
|
||||
of the changes to the Free Software Foundation. You can get the
|
||||
standard document for doing this by sending mail to
|
||||
`gnu@prep.ai.mit.edu' and asking for it. I recommend that people write
|
||||
in "All programs owned by the Free Software Foundation" as "NAME OF
|
||||
PROGRAM", so that changes in many programs (not just GDB, but GAS,
|
||||
Emacs, GCC, etc) can be contributed with only one piece of legalese
|
||||
pushed through the bureacracy and filed with the FSF. I can't start
|
||||
merging changes until this paperwork is received by the FSF (their
|
||||
rules, which I follow since I maintain it for them).
|
||||
|
||||
Technically, the easiest way to receive changes is to receive each
|
||||
feature as a small context diff or unidiff, suitable for "patch". Each
|
||||
message sent to me should include the changes to C code and header
|
||||
files for a single feature, plus ChangeLog entries for each directory
|
||||
where files were modified, and diffs for any changes needed to the
|
||||
manuals (gdb/doc/gdb.texi or gdb/doc/gdbint.texi). If there are a lot
|
||||
of changes for a single feature, they can be split down into multiple
|
||||
messages.
|
||||
|
||||
In this way, if I read and like the feature, I can add it to the
|
||||
sources with a single patch command, do some testing, and check it in.
|
||||
If you leave out the ChangeLog, I have to write one. If you leave out
|
||||
the doc, I have to puzzle out what needs documenting. Etc.
|
||||
|
||||
The reason to send each change in a separate message is that I will
|
||||
not install some of the changes. They'll be returned to you with
|
||||
questions or comments. If I'm doing my job, my message back to you
|
||||
will say what you have to fix in order to make the change acceptable.
|
||||
The reason to have separate messages for separate features is so that
|
||||
other changes (which I *am* willing to accept) can be installed while
|
||||
one or more changes are being reworked. If multiple features are sent
|
||||
in a single message, I tend to not put in the effort to sort out the
|
||||
acceptable changes from the unacceptable, so none of the features get
|
||||
installed until all are acceptable.
|
||||
|
||||
If this sounds painful or authoritarian, well, it is. But I get a
|
||||
lot of bug reports and a lot of patches, and most of them don't get
|
||||
installed because I don't have the time to finish the job that the bug
|
||||
reporter or the contributor could have done. Patches that arrive
|
||||
complete, working, and well designed, tend to get installed on the day
|
||||
they arrive. The others go into a queue and get installed if and when
|
||||
I scan back over the queue - which can literally take months sometimes.
|
||||
It's in both our interests to make patch installation easy - you get
|
||||
your changes installed, and I make some forward progress on GDB in a
|
||||
normal 12-hour day (instead of them having to wait until I have a
|
||||
14-hour or 16-hour day to spend cleaning up patches before I can
|
||||
install them).
|
||||
|
||||
Please send patches directly to the GDB maintainers at
|
||||
`gdb-patches@cygnus.com'.
|
||||
|
||||
Obsolete Conditionals
|
||||
=====================
|
||||
|
||||
Fragments of old code in GDB sometimes reference or set the following
|
||||
configuration macros. They should not be used by new code, and old uses
|
||||
should be removed as those parts of the debugger are otherwise touched.
|
||||
|
||||
`STACK_END_ADDR'
|
||||
This macro used to define where the end of the stack appeared, for
|
||||
use in interpreting core file formats that don't record this
|
||||
address in the core file itself. This information is now
|
||||
configured in BFD, and GDB gets the info portably from there. The
|
||||
values in GDB's configuration files should be moved into BFD
|
||||
configuration files (if needed there), and deleted from all of
|
||||
GDB's config files.
|
||||
|
||||
Any `FOO-xdep.c' file that references STACK_END_ADDR is so old
|
||||
that it has never been converted to use BFD. Now that's old!
|
||||
|
||||
`PYRAMID_CONTROL_FRAME_DEBUGGING'
|
||||
pyr-xdep.c
|
||||
|
||||
`PYRAMID_CORE'
|
||||
pyr-xdep.c
|
||||
|
||||
`PYRAMID_PTRACE'
|
||||
pyr-xdep.c
|
||||
|
||||
`REG_STACK_SEGMENT'
|
||||
exec.c
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,47 @@
|
|||
@c GDB version number is recorded in the variable GDBVN
|
||||
@include GDBvn.texi
|
||||
@c
|
||||
@set AGGLOMERATION
|
||||
@clear AMD29K
|
||||
@set BARETARGET
|
||||
@clear CONLY
|
||||
@set DOSHOST
|
||||
@clear FORTRAN
|
||||
@clear FSFDOC
|
||||
@clear GDBSERVER
|
||||
@clear GENERIC
|
||||
@set H8
|
||||
@set H8EXCLUSIVE
|
||||
@clear HAVE-FLOAT
|
||||
@clear I960
|
||||
@clear MOD2
|
||||
@clear NOVEL
|
||||
@clear POSIX
|
||||
@set PRECONFIGURED
|
||||
@clear REMOTESTUB
|
||||
@set SIMS
|
||||
@clear SERIAL
|
||||
@clear SPARC
|
||||
@clear ST2000
|
||||
@clear VXWORKS
|
||||
@clear Z8K
|
||||
@c ----------------------------------------------------------------------
|
||||
@c STRINGS:
|
||||
@c
|
||||
@c Name of GDB program. Used also for (gdb) prompt string.
|
||||
@set GDBP gdb
|
||||
@c
|
||||
@c Name of GDB product. Used in running text.
|
||||
@set GDBN GDB
|
||||
@c
|
||||
@c Name of GDB initialization file.
|
||||
@set GDBINIT .gdbinit
|
||||
@c
|
||||
@c Name of target.
|
||||
@set TARGET Hitachi Microprocessors
|
||||
@c
|
||||
@c Name of GCC product
|
||||
@set NGCC GCC
|
||||
@c
|
||||
@c Name of GCC program
|
||||
@set GCC gcc
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
@ -0,0 +1,123 @@
|
|||
This is Info file stabs.info, produced by Makeinfo version 1.68 from
|
||||
the input file ./stabs.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Stabs: (stabs). The "stabs" debugging information format.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This document describes the stabs debugging symbol tables.
|
||||
|
||||
Copyright 1992, 93, 94, 95, 97, 1998 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
|
||||
and David MacKenzie.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy or distribute modified versions of this
|
||||
manual under the terms of the GPL (for which purpose this text may be
|
||||
regarded as a program in the language TeX).
|
||||
|
||||
|
||||
Indirect:
|
||||
stabs.info-1: 801
|
||||
stabs.info-2: 50508
|
||||
stabs.info-3: 99916
|
||||
stabs.info-4: 146398
|
||||
|
||||
Tag Table:
|
||||
(Indirect)
|
||||
Node: Top801
|
||||
Node: Overview1713
|
||||
Node: Flow3129
|
||||
Node: Stabs Format4650
|
||||
Node: String Field6207
|
||||
Node: C Example11470
|
||||
Node: Assembly Code12010
|
||||
Node: Program Structure13976
|
||||
Node: Main Program14701
|
||||
Node: Source Files15258
|
||||
Node: Include Files17083
|
||||
Node: Line Numbers19742
|
||||
Node: Procedures21273
|
||||
Node: Nested Procedures27161
|
||||
Node: Block Structure28332
|
||||
Node: Alternate Entry Points29734
|
||||
Node: Constants30462
|
||||
Node: Variables33575
|
||||
Node: Stack Variables34262
|
||||
Node: Global Variables35955
|
||||
Node: Register Variables37107
|
||||
Node: Common Blocks37924
|
||||
Node: Statics39174
|
||||
Node: Based Variables41750
|
||||
Node: Parameters43130
|
||||
Node: Register Parameters44737
|
||||
Node: Local Variable Parameters46990
|
||||
Node: Reference Parameters49897
|
||||
Node: Conformant Arrays50508
|
||||
Node: Types51216
|
||||
Node: Builtin Types52150
|
||||
Node: Traditional Builtin Types53290
|
||||
Node: Traditional Integer Types53683
|
||||
Node: Traditional Other Types55978
|
||||
Node: Builtin Type Descriptors56879
|
||||
Node: Negative Type Numbers60373
|
||||
Node: Miscellaneous Types66720
|
||||
Node: Cross-References68601
|
||||
Node: Subranges70273
|
||||
Node: Arrays71503
|
||||
Node: Strings74726
|
||||
Node: Enumerations75784
|
||||
Node: Structures78165
|
||||
Node: Typedefs80868
|
||||
Node: Unions82189
|
||||
Node: Function Types83758
|
||||
Node: Symbol Tables85334
|
||||
Node: Symbol Table Format85765
|
||||
Node: Transformations On Symbol Tables87208
|
||||
Node: Transformations On Static Variables88557
|
||||
Node: Transformations On Global Variables89284
|
||||
Node: Stab Section Transformations90518
|
||||
Node: Cplusplus91894
|
||||
Node: Class Names92473
|
||||
Node: Nested Symbols93214
|
||||
Node: Basic Cplusplus Types94056
|
||||
Node: Simple Classes95611
|
||||
Node: Class Instance99916
|
||||
Node: Methods100628
|
||||
Node: Method Type Descriptor102854
|
||||
Node: Member Type Descriptor104049
|
||||
Node: Protections104792
|
||||
Node: Method Modifiers107875
|
||||
Node: Virtual Methods109495
|
||||
Node: Inheritence113290
|
||||
Node: Virtual Base Classes117002
|
||||
Node: Static Members119239
|
||||
Node: Stab Types119702
|
||||
Node: Non-Stab Symbol Types120308
|
||||
Node: Stab Symbol Types121734
|
||||
Node: Symbol Descriptors125456
|
||||
Node: Type Descriptors128215
|
||||
Node: Expanded Reference131407
|
||||
Node: N_PC132806
|
||||
Node: N_NSYMS133175
|
||||
Node: N_NOMAP133407
|
||||
Node: N_M2C133704
|
||||
Node: N_BROWS134129
|
||||
Node: N_DEFD134403
|
||||
Node: N_EHDECL134851
|
||||
Node: N_MOD2135093
|
||||
Node: N_CATCH135322
|
||||
Node: N_SSYM135807
|
||||
Node: N_SCOPE136081
|
||||
Node: Gould136260
|
||||
Node: N_LENG137237
|
||||
Node: Questions137454
|
||||
Node: Stab Sections139074
|
||||
Node: Stab Section Basics139653
|
||||
Node: ELF Linker Relocation142991
|
||||
Node: Symbol Types Index146398
|
||||
|
||||
End Tag Table
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,98 @@
|
|||
This is Info file stabs.info, produced by Makeinfo version 1.68 from
|
||||
the input file ./stabs.texinfo.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Stabs: (stabs). The "stabs" debugging information format.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This document describes the stabs debugging symbol tables.
|
||||
|
||||
Copyright 1992, 93, 94, 95, 97, 1998 Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
|
||||
and David MacKenzie.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy or distribute modified versions of this
|
||||
manual under the terms of the GPL (for which purpose this text may be
|
||||
regarded as a program in the language TeX).
|
||||
|
||||
|
||||
File: stabs.info, Node: Symbol Types Index, Prev: Stab Sections, Up: Top
|
||||
|
||||
Symbol Types Index
|
||||
******************
|
||||
|
||||
* Menu:
|
||||
|
||||
* .bb: Block Structure.
|
||||
* .be: Block Structure.
|
||||
* C_BCOMM: Common Blocks.
|
||||
* C_BINCL: Include Files.
|
||||
* C_BLOCK: Block Structure.
|
||||
* C_BSTAT: Statics.
|
||||
* C_DECL, for types: Typedefs.
|
||||
* C_ECOML: Common Blocks.
|
||||
* C_ECOMM: Common Blocks.
|
||||
* C_EINCL: Include Files.
|
||||
* C_ENTRY: Alternate Entry Points.
|
||||
* C_ESTAT: Statics.
|
||||
* C_FILE: Source Files.
|
||||
* C_FUN: Procedures.
|
||||
* C_GSYM: Global Variables.
|
||||
* C_LSYM: Stack Variables.
|
||||
* C_PSYM: Parameters.
|
||||
* C_RPSYM: Register Parameters.
|
||||
* C_RSYM: Register Variables.
|
||||
* C_STSYM: Statics.
|
||||
* N_BCOMM: Common Blocks.
|
||||
* N_BINCL: Include Files.
|
||||
* N_BROWS: N_BROWS.
|
||||
* N_BSLINE: Line Numbers.
|
||||
* N_CATCH: N_CATCH.
|
||||
* N_DEFD: N_DEFD.
|
||||
* N_DSLINE: Line Numbers.
|
||||
* N_ECOML: Common Blocks.
|
||||
* N_ECOMM: Common Blocks.
|
||||
* N_EHDECL: N_EHDECL.
|
||||
* N_EINCL: Include Files.
|
||||
* N_ENTRY: Alternate Entry Points.
|
||||
* N_EXCL: Include Files.
|
||||
* N_FNAME: Procedures.
|
||||
* N_FUN, for functions: Procedures.
|
||||
* N_FUN, for variables: Statics.
|
||||
* N_GSYM: Global Variables.
|
||||
* N_GSYM, for functions (Sun acc): Procedures.
|
||||
* N_LBRAC: Block Structure.
|
||||
* N_LCSYM: Statics.
|
||||
* N_LENG: N_LENG.
|
||||
* N_LSYM, for parameter: Local Variable Parameters.
|
||||
* N_LSYM, for stack variables: Stack Variables.
|
||||
* N_LSYM, for types: Typedefs.
|
||||
* N_M2C: N_M2C.
|
||||
* N_MAIN: Main Program.
|
||||
* N_MOD2: N_MOD2.
|
||||
* N_NBBSS: Gould.
|
||||
* N_NBDATA: Gould.
|
||||
* N_NBLCS: Gould.
|
||||
* N_NBSTS: Gould.
|
||||
* N_NBTEXT: Gould.
|
||||
* N_NOMAP: N_NOMAP.
|
||||
* N_NSYMS: N_NSYMS.
|
||||
* N_PC: N_PC.
|
||||
* N_PSYM: Parameters.
|
||||
* N_RBRAC: Block Structure.
|
||||
* N_ROSYM: Statics.
|
||||
* N_RSYM: Register Variables.
|
||||
* N_RSYM, for parameters: Register Parameters.
|
||||
* N_SCOPE: N_SCOPE.
|
||||
* N_SLINE: Line Numbers.
|
||||
* N_SO: Source Files.
|
||||
* N_SOL: Include Files.
|
||||
* N_SSYM: N_SSYM.
|
||||
* N_STSYM: Statics.
|
||||
* N_STSYM, for functions (Sun acc): Procedures.
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,35 @@
|
|||
/* Host-dependent code for dos running GO32 for GDB, the GNU debugger.
|
||||
Copyright 1992 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
sigsetmask (mask)
|
||||
int mask;
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
strlwr (str)
|
||||
char *str;
|
||||
{
|
||||
for (; *str; str++)
|
||||
*str = tolower(*str);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,182 @@
|
|||
# Generated automatically from Makefile.in by configure.
|
||||
# Copyright 1998 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GDB.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
all: libtui.a
|
||||
|
||||
srcdir=.
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
CC=gcc
|
||||
CFLAGS=-g -O2
|
||||
AR=ar
|
||||
RANLIB=ranlib
|
||||
|
||||
# Host and target-dependent makefile fragments come in here.
|
||||
|
||||
# Host: Sun 4 or Sparcstation, running SunOS 4
|
||||
XDEPFILES= ser-tcp.o
|
||||
XM_FILE= xm-sun4os4.h
|
||||
NAT_FILE= nm-sun4os4.h
|
||||
NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o sparc-nat.o
|
||||
HOST_IPC=-DBSD_IPC
|
||||
GDBSERVER_DEPFILES= low-sparc.o
|
||||
# Setting XM_CLIBS=-lresolv would let us use the DNS, but that would screw
|
||||
# anyone who wants to use NIS, which includes at least one Cygnus customer
|
||||
# (PR 3593). So leave it this way until/unless we find a resolver which can
|
||||
# get names from either DNS or NIS from the same GDB binary.
|
||||
|
||||
# Target: Sun 4 or Sparcstation, running SunOS 4
|
||||
TDEPFILES= sparc-tdep.o solib.o
|
||||
TM_FILE= tm-sun4os4.h
|
||||
# End of host and target-dependent makefile fragments
|
||||
|
||||
# Where is our "include" directory? Typically $(srcdir)/../include.
|
||||
# This is essentially the header file directory for the library
|
||||
# routines in libiberty.
|
||||
INCLUDE_DIR = $(srcdir)/../../include
|
||||
INCLUDE_CFLAGS = -I$(INCLUDE_DIR)
|
||||
|
||||
# Configured by the --with-mmalloc option to configure.
|
||||
MMALLOC =
|
||||
MMALLOC_CFLAGS =
|
||||
|
||||
# Where is the BFD library? Typically in ../bfd.
|
||||
BFD_DIR = ../../bfd
|
||||
BFD_SRC = $(srcdir)/$(BFD_DIR)
|
||||
BFD_CFLAGS = -I$(BFD_DIR) -I$(BFD_SRC)
|
||||
|
||||
# Where is the READLINE library? Typically in ../readline.
|
||||
READLINE_DIR = ../../readline
|
||||
READLINE_SRC = $(srcdir)/$(READLINE_DIR)
|
||||
READLINE_CFLAGS = -I$(READLINE_SRC)
|
||||
|
||||
# Where is the INTL library? Typically in ../intl.
|
||||
INTL_DIR = ../../intl
|
||||
INTL_SRC = $(srcdir)/$(INTL_DIR)
|
||||
INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC)
|
||||
|
||||
# Where is the TCL library? Typically in ../tcl.
|
||||
TCL_CFLAGS = @TCLHDIR@
|
||||
|
||||
# Where is the TK library? Typically in ../tk.
|
||||
TK_CFLAGS = @TKHDIR@ @TK_BUILD_INCLUDES@
|
||||
|
||||
# Where is Itcl? Typically in ../itcl.
|
||||
ITCL_CFLAGS = @ITCLHDIR@
|
||||
|
||||
# Where is Tix? Typically in ../tix.
|
||||
TIX_CFLAGS = @TIXHDIR@
|
||||
|
||||
X11_CFLAGS = @TK_XINCLUDES@
|
||||
|
||||
ENABLE_IDE= @ENABLE_IDE@
|
||||
|
||||
GUI_CFLAGS_X = -I$(srcdir)/../../libgui/src
|
||||
|
||||
IDE_CFLAGS_X = -I$(srcdir)/../../libidetcl/src -I$(srcdir)/../../libide/src \
|
||||
`if [ x"$(ENABLE_IDE)" != x ] ; then \
|
||||
echo -DIDE -I$(srcdir)/../../ilu/runtime/mainloop;\
|
||||
fi`
|
||||
|
||||
IDE_CFLAGS=$(GUI_CFLAGS_X) $(IDE_CFLAGS_X)
|
||||
|
||||
ENABLE_CFLAGS=
|
||||
|
||||
# -I. for config files.
|
||||
# -I$(srcdir) for gdb internal headers and possibly for gnu-regex.h also.
|
||||
# -I$(srcdir)/config for more generic config files.
|
||||
|
||||
# It is also possible that you will need to add -I/usr/include/sys if
|
||||
# your system doesn't have fcntl.h in /usr/include (which is where it
|
||||
# should be according to Posix).
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
GDB_CFLAGS = -I. -I.. -I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../config $(DEFS)
|
||||
|
||||
# M{H,T}_CFLAGS, if defined, have host- and target-dependent CFLAGS
|
||||
# from the config directory.
|
||||
GLOBAL_CFLAGS = $(MT_CFLAGS) $(MH_CFLAGS)
|
||||
#PROFILE_CFLAGS = -pg
|
||||
|
||||
# INTERNAL_CFLAGS is the aggregate of all other *CFLAGS macros.
|
||||
INTERNAL_CFLAGS = $(CFLAGS) $(GLOBAL_CFLAGS) $(PROFILE_CFLAGS) \
|
||||
$(GDB_CFLAGS) $(READLINE_CFLAGS) $(BFD_CFLAGS) \
|
||||
$(MMALLOC_CFLAGS) $(INCLUDE_CFLAGS) $(INTL_CFLAGS) \
|
||||
$(ENABLE_CFLAGS)
|
||||
|
||||
HEADERS = tuiIO.h tuiData.h tuiGeneralWin.h tuiLayout.h tuiStack.h \
|
||||
tuiSource.h tuiCommand.h tuiWin.h tuiDisassem.h \
|
||||
tuiSourceWin.h tuiRegs.h tuiDataWin.h
|
||||
|
||||
SOURCES = tui.c tuiData.c tuiSource.c tuiStack.c tuiIO.c \
|
||||
tuiGeneralWin.c tuiLayout.c tuiWin.c tuiCommand.c \
|
||||
tuiDisassem.c tuiSourceWin.c tuiRegs.c tuiDataWin.c
|
||||
|
||||
OBJECTS = tui.o tuiData.o tuiSource.o tuiStack.o tuiIO.o \
|
||||
tuiGeneralWin.o tuiLayout.o tuiWin.o tuiCommand.o \
|
||||
tuiDisassem.o tuiSourceWin.o tuiRegs.o tuiDataWin.o \
|
||||
tuiInit.o
|
||||
|
||||
|
||||
# Prevent Sun make from putting in the machine type. Setting
|
||||
# TARGET_ARCH to nothing works for SunOS 3, 4.0, but not for 4.1.
|
||||
.c.o:
|
||||
$(CC) -c $(INTERNAL_CFLAGS) $<
|
||||
.SUFFIXES: .cpp
|
||||
.c.cpp:
|
||||
$(CC) -E $(INTERNAL_CFLAGS) $< > $@
|
||||
|
||||
libtui.a: $(OBJECTS)
|
||||
rm -f libtui.a
|
||||
$(AR) rc libtui.a $(OBJECTS)
|
||||
$(RANLIB) libtui.a
|
||||
|
||||
tui.o: tui.c tui.h tuiData.h tuiLayout.h tuiIO.h tuiRegs.h tuiWin.h
|
||||
tuiCommand.o: tui.h tuiData.h tuiWin.h tuiIO.h
|
||||
tuiData.o: tui.h tuiData.h
|
||||
tuiDataWin.o: tui.h tuiData.h tuiRegs.h
|
||||
tuiDisassem.o: tui.h tuiData.h tuiLayout.h tuiSourceWin.h tuiStack.h
|
||||
tuiGeneralWin.o: tui.h tuiData.h tuiGeneralWin.h
|
||||
tuiIO.o: tui.h tuiData.h tuiIO.h tuiCommand.h tuiWin.h
|
||||
tuiLayout.o: tui.h tuiData.h tuiGeneralWin.h tuiStack.h tuiRegs.h \
|
||||
tuiDisassem.h
|
||||
tuiRegs.o: tui.h tuiData.h tuiLayout.h tuiWin.h
|
||||
tuiSource.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h tuiSource.h
|
||||
tuiSourceWin.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h tuiSource.h \
|
||||
tuiDisassem.h
|
||||
tuiStack.o: tui.h tuiData.h tuiStack.h tuiSourceWin.h
|
||||
tuiWin.o: tui.h tuiData.h tuiGeneralWin.h tuiStack.h tuiSourceWin.h \
|
||||
tuiDataWin.h
|
||||
|
||||
tuiInit.o: tuiInit.c
|
||||
tuiInit.c: $(SOURCES)
|
||||
@echo Making tuiInit.c
|
||||
@rm -f init.c-tmp
|
||||
@echo '/* Do not modify this file. */' >init.c-tmp
|
||||
@echo '/* It is created automatically by the Makefile. */'>>init.c-tmp
|
||||
@echo '#include "ansidecl.h"' >>init.c-tmp
|
||||
@echo 'extern void initialize_tui_files PARAMS ((void));' >>init.c-tmp
|
||||
@echo 'void initialize_tui_files PARAMS ((void)) {' >>init.c-tmp
|
||||
@-( cd $(srcdir) ; grep '^_initialize_[a-z_0-9A-Z]* *(' $(SOURCES) ) 2>/dev/null \
|
||||
| sed -e 's/^.*://' -e 's/^\([a-z_0-9A-Z]*\).*/ {extern void \1 PARAMS ((void)); \1 ();}/' >>init.c-tmp
|
||||
@echo '}' >>init.c-tmp
|
||||
@mv init.c-tmp tuiInit.c
|
||||
|
||||
clean:
|
||||
rm -f *.o *.a
|
|
@ -0,0 +1,219 @@
|
|||
This is Info file ./mmalloc.info, produced by Makeinfo version 1.68
|
||||
from the input file mmalloc.texi.
|
||||
|
||||
START-INFO-DIR-ENTRY
|
||||
* Mmalloc: (mmalloc). The GNU mapped-malloc package.
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This file documents the GNU mmalloc (mapped-malloc) package, written
|
||||
by fnf@cygnus.com, based on GNU malloc written by mike@ai.mit.edu.
|
||||
|
||||
Copyright (C) 1992 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of this
|
||||
manual provided the copyright notice and this permission notice are
|
||||
preserved on all copies.
|
||||
|
||||
Permission is granted to copy and distribute modified versions of
|
||||
this manual under the conditions for verbatim copying, provided also
|
||||
that the entire resulting derived work is distributed under the terms
|
||||
of a permission notice identical to this one.
|
||||
|
||||
Permission is granted to copy and distribute translations of this
|
||||
manual into another language, under the above conditions for modified
|
||||
versions.
|
||||
|
||||
|
||||
File: mmalloc.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
|
||||
|
||||
mmalloc
|
||||
*******
|
||||
|
||||
This file documents the GNU memory-mapped malloc package mmalloc.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Overview:: Overall Description
|
||||
* Implementation:: Implementation
|
||||
|
||||
-- The Detailed Node Listing --
|
||||
|
||||
Implementation
|
||||
|
||||
* Compatibility:: Backwards Compatibility
|
||||
* Functions:: Function Descriptions
|
||||
|
||||
|
||||
File: mmalloc.info, Node: Overview, Next: Implementation, Prev: Top, Up: Top
|
||||
|
||||
Overall Description
|
||||
*******************
|
||||
|
||||
This is a heavily modified version of GNU `malloc'. It uses `mmap'
|
||||
as the basic mechanism for obtaining memory from the system, rather
|
||||
than `sbrk'. This gives it several advantages over the more
|
||||
traditional malloc:
|
||||
|
||||
* Several different heaps can be used, each of them growing or
|
||||
shinking under control of `mmap', with the `mmalloc' functions
|
||||
using a specific heap on a call by call basis.
|
||||
|
||||
* By using `mmap', it is easy to create heaps which are intended to
|
||||
be persistent and exist as a filesystem object after the creating
|
||||
process has gone away.
|
||||
|
||||
* Because multiple heaps can be managed, data used for a specific
|
||||
purpose can be allocated into its own heap, making it easier to
|
||||
allow applications to "dump" and "restore" initialized
|
||||
malloc-managed memory regions. For example, the "unexec" hack
|
||||
popularized by GNU Emacs could potentially go away.
|
||||
|
||||
|
||||
File: mmalloc.info, Node: Implementation, Prev: Overview, Up: Top
|
||||
|
||||
Implementation
|
||||
**************
|
||||
|
||||
The `mmalloc' functions contain no internal static state. All
|
||||
`mmalloc' internal data is allocated in the mapped in region, along
|
||||
with the user data that it manages. This allows it to manage multiple
|
||||
such regions and to "pick up where it left off" when such regions are
|
||||
later dynamically mapped back in.
|
||||
|
||||
In some sense, malloc has been "purified" to contain no internal
|
||||
state information and generalized to use multiple memory regions rather
|
||||
than a single region managed by `sbrk'. However the new routines now
|
||||
need an extra parameter which informs `mmalloc' which memory region it
|
||||
is dealing with (along with other information). This parameter is
|
||||
called the "malloc descriptor".
|
||||
|
||||
The functions initially provided by `mmalloc' are:
|
||||
|
||||
void *mmalloc_attach (int fd, void *baseaddr);
|
||||
void *mmalloc_detach (void *md);
|
||||
int mmalloc_errno (void *md);
|
||||
int mmalloc_setkey (void *md, int keynum, void *key);
|
||||
void *mmalloc_getkey (void *md, int keynum);
|
||||
|
||||
void *mmalloc (void *md, size_t size);
|
||||
void *mrealloc (void *md, void *ptr, size_t size);
|
||||
void *mvalloc (void *md, size_t size);
|
||||
void mfree (void *md, void *ptr);
|
||||
|
||||
* Menu:
|
||||
|
||||
* Compatibility:: Backwards Compatibility
|
||||
* Functions:: Function Descriptions
|
||||
|
||||
|
||||
File: mmalloc.info, Node: Compatibility, Next: Functions, Prev: Implementation, Up: Implementation
|
||||
|
||||
Backwards Compatibility
|
||||
=======================
|
||||
|
||||
To allow a single malloc package to be used in a given application,
|
||||
provision is made for the traditional `malloc', `realloc', and `free'
|
||||
functions to be implemented as special cases of the `mmalloc'
|
||||
functions. In particular, if any of the functions that expect malloc
|
||||
descriptors are called with a `NULL' pointer rather than a valid malloc
|
||||
descriptor, then they default to using an `sbrk' managed region. The
|
||||
`mmalloc' package provides compatible `malloc', `realloc', and `free'
|
||||
functions using this mechanism internally. Applications can avoid this
|
||||
extra interface layer by simply including the following defines:
|
||||
|
||||
#define malloc(size) mmalloc ((void *)0, (size))
|
||||
#define realloc(ptr,size) mrealloc ((void *)0, (ptr), (size));
|
||||
#define free(ptr) mfree ((void *)0, (ptr))
|
||||
|
||||
or replace the existing `malloc', `realloc', and `free' calls with the
|
||||
above patterns if using `#define' causes problems.
|
||||
|
||||
|
||||
File: mmalloc.info, Node: Functions, Prev: Compatibility, Up: Implementation
|
||||
|
||||
Function Descriptions
|
||||
=====================
|
||||
|
||||
These are the details on the functions that make up the `mmalloc'
|
||||
package.
|
||||
|
||||
`void *mmalloc_attach (int FD, void *BASEADDR);'
|
||||
Initialize access to a `mmalloc' managed region.
|
||||
|
||||
If FD is a valid file descriptor for an open file, then data for
|
||||
the `mmalloc' managed region is mapped to that file. Otherwise
|
||||
`/dev/zero' is used and the data will not exist in any filesystem
|
||||
object.
|
||||
|
||||
If the open file corresponding to FD is from a previous use of
|
||||
`mmalloc' and passes some basic sanity checks to ensure that it is
|
||||
compatible with the current `mmalloc' package, then its data is
|
||||
mapped in and is immediately accessible at the same addresses in
|
||||
the current process as the process that created the file.
|
||||
|
||||
If BASEADDR is not `NULL', the mapping is established starting at
|
||||
the specified address in the process address space. If BASEADDR
|
||||
is `NULL', the `mmalloc' package chooses a suitable address at
|
||||
which to start the mapped region, which will be the value of the
|
||||
previous mapping if opening an existing file which was previously
|
||||
built by `mmalloc', or for new files will be a value chosen by
|
||||
`mmap'.
|
||||
|
||||
Specifying BASEADDR provides more control over where the regions
|
||||
start and how big they can be before bumping into existing mapped
|
||||
regions or future mapped regions.
|
||||
|
||||
On success, returns a malloc descriptor which is used in subsequent
|
||||
calls to other `mmalloc' package functions. It is explicitly
|
||||
`void *' (`char *' for systems that don't fully support `void') so
|
||||
that users of the package don't have to worry about the actual
|
||||
implementation details.
|
||||
|
||||
On failure returns `NULL'.
|
||||
|
||||
`void *mmalloc_detach (void *MD);'
|
||||
Terminate access to a `mmalloc' managed region identified by the
|
||||
descriptor MD, by closing the base file and unmapping all memory
|
||||
pages associated with the region.
|
||||
|
||||
Returns `NULL' on success.
|
||||
|
||||
Returns the malloc descriptor on failure, which can subsequently
|
||||
be used for further action (such as obtaining more information
|
||||
about the nature of the failure).
|
||||
|
||||
`void *mmalloc (void *MD, size_t SIZE);'
|
||||
Given an `mmalloc' descriptor MD, allocate additional memory of
|
||||
SIZE bytes in the associated mapped region.
|
||||
|
||||
`*mrealloc (void *MD, void *PTR, size_t SIZE);'
|
||||
Given an `mmalloc' descriptor MD and a pointer to memory
|
||||
previously allocated by `mmalloc' in PTR, reallocate the memory to
|
||||
be SIZE bytes long, possibly moving the existing contents of
|
||||
memory if necessary.
|
||||
|
||||
`void *mvalloc (void *MD, size_t SIZE);'
|
||||
Like `mmalloc' but the resulting memory is aligned on a page
|
||||
boundary.
|
||||
|
||||
`void mfree (void *MD, void *PTR);'
|
||||
Given an `mmalloc' descriptor MD and a pointer to memory previously
|
||||
allocated by `mmalloc' in PTR, free the previously allocated
|
||||
memory.
|
||||
|
||||
`int mmalloc_errno (void *MD);'
|
||||
Given a `mmalloc' descriptor, if the last `mmalloc' operation
|
||||
failed for some reason due to a system call failure, then returns
|
||||
the associated `errno'. Returns 0 otherwise. (This function is
|
||||
not yet implemented).
|
||||
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top963
|
||||
Node: Overview1397
|
||||
Node: Implementation2425
|
||||
Node: Compatibility3818
|
||||
Node: Functions4892
|
||||
|
||||
End Tag Table
|
Loading…
Reference in New Issue