⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 news

📁 早期freebsd实现
💻
📖 第 1 页 / 共 2 页
字号:
		What has changed since GDB-3.5?		(Organized release by release)*** Changes in GDB-4.7: * Host/native/target splitGDB has had some major internal surgery to untangle the support forhosts and remote targets.  Now, when you configure GDB for a remotetarget, it will no longer load in all of the support for debugginglocal programs on the host.  When fully completed and tested, this willensure that arbitrary host/target combinations are possible.The primary conceptual shift is to separate the non-portable code inGDB into three categories.  Host specific code is required any time GDBis compiled on that host, regardless of the target.  Target specificcode relates to the peculiarities of the target, but can be compiled onany host.  Native specific code is everything else:  it can only bebuilt when the host and target are the same system.  Child processhandling and core file support are two common `native' examples.GDB's use of /proc for controlling Unix child processes is now cleaner.It has been split out into a single module under the `target_ops' vector,plus two native-dependent functions for each system that uses /proc. * New hosts supportedHP/Apollo 68k (under the BSD domain)	m68k-apollo-bsd  or  apollo68bsd386 CPUs running various BSD ports	i386-unknown-bsd  or  386bsd386 CPUs running SCO Unix		i386-unknown-scosysv322  or  i386sco * New targets supportedFujitsu SPARClite 			sparclite-fujitsu-none  or  sparclite68030 and CPU32				m68030-*-*, m68332-*-* * New native hosts supported386 CPUs running various BSD ports	i386-unknown-bsd  or  386bsd    (386bsd is not well tested yet)386 CPUs running SCO Unix		i386-unknown-scosysv322  or  sco * New file formats supportedBFD now supports COFF files for the Zilog Z8000 microprocessor.  Itsupports reading of `a.out.adobe' object files, which are an a.outformat extended with minimal information about multiple sections. * New commands`show copying' is the same as the old `info copying'.`show warranty' is the same as `info warrantee'.These were renamed for consistency.  The old commands continue to work.`info handle' is a new alias for `info signals'.You can now define pre-command hooks, which attach arbitrary commandscripts to any command.  The commands in the hook will be executedprior to the user's command.  You can also create a hook which will beexecuted whenever the program stops.  See gdb.texinfo. * C++ improvementsWe now deal with Cfront style name mangling, and can even extract typeinfo from mangled symbols.  GDB can automatically figure out whichsymbol mangling style your C++ compiler uses.Calling of methods and virtual functions has been improved as well. * Major bug fixesThe crash that occured when debugging Sun Ansi-C compiled binaries isfixed.  This was due to mishandling of the extra N_SO stabs outputby the compiler.We also finally got Ultrix 4.2 running in house, and fixed core filesupport, with help from a dozen people on the net.John M. Farrell discovered that the reason that single-stepping was soslow on all of the Mips based platforms (primarily SGI and DEC) wasthat we were trying to demangle and lookup a symbol used for internalpurposes on every instruction that was being stepped through.  Changingthe name of that symbol so that it couldn't be mistaken for a C++mangled symbol sped things up a great deal.Rich Pixley sped up symbol lookups in general by getting much smarterabout when C++ symbol mangling is necessary.  This should make symbolcompletion (TAB on the command line) much faster.  It's not as fast aswe'd like, but it's significantly faster than gdb-4.6. * AMD 29k supportA new user controllable variable 'call_scratch_address' canspecify the location of a scratch area to be used when GDBcalls a function in the target.  This is necessary because theusual method of putting the scratch area on the stack does not workin systems that have separate instruction and data spaces.We integrated changes to support the 29k UDI (Universal DebuggerInterface), but discovered at the last minute that we didn't have allof the appropriate copyright paperwork.  We are working with AMD toresolve this, and hope to have it available soon. * Remote interfacesWe have sped up the remote serial line protocol, especially for targetswith lots of registers.  It now supports a new `expedited status' ('T')message which can be used in place of the existing 'S' status message.This allows the remote stub to send only the registers that GDBneeds to make a quick decision about single-stepping or conditionalbreakpoints, eliminating the need to fetch the entire register set foreach instruction being stepped through.The GDB remote serial protocol now implements a write-through cache forregisters, only re-reading the registers if the target has run.There is also a new remote serial stub for SPARC processors.  You canfind it in gdb-4.7/gdb/sparc-stub.c.  This was written to support theFujitsu SPARClite processor, but will run on any stand-alone SPARCprocessor with a serial port. * ConfigurationConfigure.in files have become much easier to read and modify.  A new`table driven' format makes it more obvious what configurations aresupported, and what files each one uses. * Library changesThere is a new opcodes library which will eventually contain all of thedisassembly routines and opcode tables.  At present, it only containsSparc and Z8000 routines.  This will allow the assembler, debugger, anddisassembler (binutils/objdump) to share these routines.The libiberty library is now copylefted under the GNU Library GeneralPublic License.  This allows more liberal use, and was done so libg++can use it.  This makes no difference to GDB, since the Library Licensegrants all the rights from the General Public License. * DocumentationThe file gdb-4.7/gdb/doc/stabs.texinfo is a (relatively) completereference to the stabs symbol info used by the debugger.  It is (as faras we know) the only published document on this fascinating topic.  Weencourage you to read it, compare it to the stabs information on yoursystem, and send improvements on the document in general (tobug-gdb@prep.ai.mit.edu).And, of course, many bugs have been fixed.*** Changes in GDB-4.6: * Better support for C++ function namesGDB now accepts as input the "demangled form" of C++ overloaded functionnames and member function names, and can do command completion on such names(using TAB, TAB-TAB, and ESC-?).  The names have to be quoted with a pair ofsingle quotes.  Examples are 'func (int, long)' and 'obj::operator==(obj&)'.Make use of command completion, it is your friend.GDB also now accepts a variety of C++ mangled symbol formats.  They arethe GNU g++ style, the Cfront (ARM) style, and the Lucid (lcc) style.You can tell GDB which format to use by doing a 'set demangle-style {gnu,lucid, cfront, auto}'.  'gnu' is the default.  Do a 'set demangle-style foo'for the list of formats. * G++ symbol mangling problemRecent versions of gcc have a bug in how they emit debugging information forC++ methods (when using dbx-style stabs).  The file 'gcc.patch' (in thisdirectory) can be applied to gcc to fix the problem.  Alternatively, if youcan't fix gcc, you can #define GCC_MANGLE_BUG when compling gdb/symtab.c. Theusual symptom is difficulty with setting breakpoints on methods.  GDB complainsabout the method being non-existent.  (We believe that version 2.2.2 of GCC hasthis problem.) * New 'maintenance' commandAll of the commands related to hacking GDB internals have been moved out ofthe main command set, and now live behind the 'maintenance' command.  Thiscan also be abbreviated as 'mt'.  The following changes were made:	dump-me ->		maintenance dump-me	info all-breakpoints ->	maintenance info breakpoints	printmsyms ->		maintenance print msyms	printobjfiles ->	maintenance print objfiles	printpsyms ->		maintenance print psymbols	printsyms ->		maintenance print symbolsThe following commands are new:	maintenance demangle	Call internal GDB demangler routine to				demangle a C++ link name and prints the result.	maintenance print type	Print a type chain for a given symbol * Change to .gdbinit file processingWe now read the $HOME/.gdbinit file before processing the argv arguments(e.g. reading symbol files or core files).  This allows global parameters tobe set, which will apply during the symbol reading.  The ./.gdbinit is stillread after argv processing. * New hosts supportedSolaris-2.0 !!!				sparc-sun-solaris2  or  sun4sol2Linux support				i386-unknown-linux  or  linuxWe are also including code to support the HP/PA running BSD and HPUX.  Thisis almost guaranteed not to work, as we didn't have time to test or build itfor this release.  We are including it so that the more adventurous (ormasochistic) of you can play with it.  We also had major problems with thefact that the compiler that we got from HP doesn't support the -g option.It costs extra. * New targets supportedHitachi H8/300				h8300-hitachi-hms  or  h8300hms * More smarts about finding #include filesGDB now remembers the compilation directory for all include files, and forall files from which C is generated (like yacc and lex sources).  Thisgreatly improves GDB's ability to find yacc/lex sources, and include files,especially if you are debugging your program from a directory different fromthe one that contains your sources.We also fixed a bug which caused difficulty with listing and settingbreakpoints in include files which contain C code.  (In the past, you had totry twice in order to list an include file that you hadn't looked at before.) * Interesting infernals changeGDB now deals with arbitrary numbers of sections, where the symbols for eachsection must be relocated relative to that section's landing place in thetarget's address space.  This work was needed to support ELF with embeddedstabs used by Solaris-2.0. * Bug fixes (of course!)There have been loads of fixes for the following things:	mips, rs6000, 29k/udi, m68k, g++, type handling, elf/dwarf, m88k,	i960, stabs, DOS(GO32), procfs, etc...See the ChangeLog for details.*** Changes in GDB-4.5: * New machines supported (host and target)IBM RS6000 running AIX			rs6000-ibm-aix	or rs6000SGI Irix-4.x				mips-sgi-irix4	or iris4 * New malloc packageGDB now uses a new memory manager called mmalloc, based on gmalloc.Mmalloc is capable of handling mutiple heaps of memory.  It is alsocapable of saving a heap to a file, and then mapping it back in later.This can be used to greatly speedup the startup of GDB by using apre-parsed symbol table which lives in a mmalloc managed heap.  Formore details, please read mmalloc/mmalloc.texi. * info procThe 'info proc' command (SVR4 only) has been enhanced quite a bit.  See'help info proc' for details. * MIPS ecoff symbol table formatThe code that reads MIPS symbol table format is now supported on all hosts.Thanks to MIPS for releasing the sym.h and symconst.h files to make thispossible. * File name changes for MS-DOSMany files in the config directories have been renamed to make it easier tosupport GDB on MS-DOSe systems (which have very restrictive file nameconventions :-( ).  MS-DOSe host support (under DJ Delorie's GO32environment) is close to working but has some remaining problems.  Notethat debugging of DOS programs is not supported, due to limitationsin the ``operating system'', but it can be used to host cross-debugging. * Cross byte order fixesMany fixes have been made to support cross debugging of Sparc and MIPStargets from hosts whose byte order differs. * New -mapped and -readnow optionsIf memory-mapped files are available on your system through the 'mmap'system call, you can use the -mapped option on the `file' or`symbol-file' commands to cause GDB to write the symbols from yourprogram into a reusable file.  If the program you are debugging iscalled `/path/fred', the mapped symbol file will be `./fred.syms'.Future GDB debugging sessions will notice the presence of this file,and will quickly map in symbol information from it, rather than readingthe symbol table from the executable program.  Using the '-mapped'option in a GDB `file' or `symbol-file' command has the same effect asstarting GDB with the '-mapped' command-line option.You can cause GDB to read the entire symbol table immediately by usingthe '-readnow' option with any of the commands that load symbol tableinformation (or on the GDB command line).  This makes the commandslower, but makes future operations faster.The -mapped and -readnow options are typically combined in order tobuild a `fred.syms' file that contains complete symbol information.A simple GDB invocation to do nothing but build a `.syms' file for futureuse is:	gdb -batch -nx -mapped -readnow programnameThe `.syms' file is specific to the host machine on which GDB is run.It holds an exact image of GDB's internal symbol table.  It cannot beshared across multiple host platforms. * longjmp() handlingGDB is now capable of stepping and nexting over longjmp(), _longjmp(), andsiglongjmp() without losing control.  This feature has not yet been ported toall systems.  It currently works on many 386 platforms, all MIPS-basedplatforms (SGI, DECstation, etc), and Sun3/4. * Solaris 2.0Preliminary work has been put in to support the new Solaris OS from Sun.  Atthis time, it can control and debug processes, but it is not capable ofreading symbols. * Bug fixesAs always, many many bug fixes.  The major areas were with g++, and mipsread.People using the MIPS-based platforms should experience fewer mysteriouscrashes and trashed symbol tables.*** Changes in GDB-4.4: * New machines supported (host and target)SCO Unix on i386 IBM PC clones		i386-sco-sysv	or  i386sco	(except core files)BSD Reno on Vax				vax-dec-bsdUltrix on Vax				vax-dec-ultrix * New machines supported (target)AMD 29000 embedded, using EBMON		a29k-none-none * C++ supportGDB continues to improve its handling of C++.  `References' work better.The demangler has also been improved, and now deals with symbols mangled asper the Annotated C++ Reference Guide.GDB also now handles `stabs' symbol information embedded in MIPS`ecoff' symbol tables.  Since the ecoff format was not easilyextensible to handle new languages such as C++, this appeared to be agood way to put C++ debugging info into MIPS binaries.  This optionwill be supported in the GNU C compiler, version 2, when it isreleased. * New features for SVR4GDB now handles SVR4 shared libraries, in the same fashion as SunOSshared libraries.  Debugging dynamically linked programs should presentonly minor differences from debugging statically linked programs.The `info proc' command will print out information about any processon an SVR4 system (including the one you are debugging).  At the moment,it prints the address mappings of the process.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -