2010年3月23日

[installer 2294] gdb-7.1

gdb-7.1 出ています。

☆ gdb-7.1
http://www.gnu.org/software/gdb/
http://ftp.gnu.org/gnu/gdb/gdb-7.1.tar.gz
ftp://ftp.gnu.org/gnu/gdb/gdb-7.1.tar.gz

*** Changes in GDB 7.1


* C++ Improvements

** Namespace Support

GDB now supports importing of namespaces in C++. This enables the
user to inspect variables from imported namespaces. Support for
namepace aliasing has also been added. So, if a namespace is
aliased in the current scope (e.g. namepace C=A; ) the user can
print variables using the alias (e.g. (gdb) print C::x).

** Bug Fixes

All known bugs relating to the printing of virtual base class were
fixed. It is now possible to call overloaded static methods using a
qualified name.

** Cast Operators

The C++ cast operators static_cast<>, dynamic_cast<>, const_cast<>,
and reinterpret_cast<> are now handled by the C++ expression parser.

* New targets

Xilinx MicroBlaze microblaze-*-*
Renesas RX rx-*-elf

* New Simulators

Xilinx MicroBlaze microblaze
Renesas RX rx

* Multi-program debugging.

GDB now has support for multi-program (a.k.a. multi-executable or
multi-exec) debugging. This allows for debugging multiple inferiors
simultaneously each running a different program under the same GDB
session. See "Debugging Multiple Inferiors and Programs" in the
manual for more information. This implied some user visible changes
in the multi-inferior support. For example, "info inferiors" now
lists inferiors that are not running yet or that have exited
already. See also "New commands" and "New options" below.

* New tracing features

GDB's tracepoint facility now includes several new features:

** Trace state variables

GDB tracepoints now include support for trace state variables, which
are variables managed by the target agent during a tracing
experiment. They are useful for tracepoints that trigger each
other, so for instance one tracepoint can count hits in a variable,
and then a second tracepoint has a condition that is true when the
count reaches a particular value. Trace state variables share the
$-syntax of GDB convenience variables, and can appear in both
tracepoint actions and condition expressions. Use the "tvariable"
command to create, and "info tvariables" to view; see "Trace State
Variables" in the manual for more detail.

** Fast tracepoints

GDB now includes an option for defining fast tracepoints, which
targets may implement more efficiently, such as by installing a jump
into the target agent rather than a trap instruction. The resulting
speedup can be by two orders of magnitude or more, although the
tradeoff is that some program locations on some target architectures
might not allow fast tracepoint installation, for instance if the
instruction to be replaced is shorter than the jump. To request a
fast tracepoint, use the "ftrace" command, with syntax identical to
the regular trace command.

** Disconnected tracing

It is now possible to detach GDB from the target while it is running
a trace experiment, then reconnect later to see how the experiment
is going. In addition, a new variable disconnected-tracing lets you
tell the target agent whether to continue running a trace if the
connection is lost unexpectedly.

** Trace files

GDB now has the ability to save the trace buffer into a file, and
then use that file as a target, similarly to you can do with
corefiles. You can select trace frames, print data that was
collected in them, and use tstatus to display the state of the
tracing run at the moment that it was saved. To create a trace
file, use "tsave <filename>", and to use it, do "target tfile
<name>".

* Changed commands

disassemble
The disassemble command, when invoked with two arguments, now requires
the arguments to be comma-separated.

info variables
The info variables command now displays variable definitions. Files
which only declare a variable are not shown.

source
The source command is now capable of sourcing Python scripts.
This feature is dependent on the debugger being build with Python
support.

Related to this enhancement is also the introduction of a new command
"set script-extension" (see below).

* New commands (for set/show, see "New options" below)

record save [<FILENAME>]
Save a file (in core file format) containing the process record
execution log for replay debugging at a later time.

record restore <FILENAME>
Restore the process record execution log that was saved at an
earlier time, for replay debugging.

add-inferior [-copies <N>] [-exec <FILENAME>]
Add a new inferior.

clone-inferior [-copies <N>] [ID]
Make a new inferior ready to execute the same program another
inferior has loaded.

remove-inferior ID
Remove an inferior.

maint info program-spaces
List the program spaces loaded into GDB.

set remote interrupt-sequence [Ctrl-C | BREAK | BREAK-g]
show remote interrupt-sequence
Allow the user to select one of ^C, a BREAK signal or BREAK-g
as the sequence to the remote target in order to interrupt the execution.
Ctrl-C is a default. Some system prefers BREAK which is high level of
serial line for some certain time. Linux kernel prefers BREAK-g, a.k.a
Magic SysRq g. It is BREAK signal and character 'g'.

set remote interrupt-on-connect [on | off]
show remote interrupt-on-connect
When interrupt-on-connect is ON, gdb sends interrupt-sequence to
remote target when gdb connects to it. This is needed when you debug
Linux kernel.

set remotebreak [on | off]
show remotebreak
Deprecated. Use "set/show remote interrupt-sequence" instead.

tvariable $NAME [ = EXP ]
Create or modify a trace state variable.

info tvariables
List trace state variables and their values.

delete tvariable $NAME ...
Delete one or more trace state variables.

teval EXPR, ...
Evaluate the given expressions without collecting anything into the
trace buffer. (Valid in tracepoint actions only.)

ftrace FN / FILE:LINE / *ADDR
Define a fast tracepoint at the given function, line, or address.

* New expression syntax

GDB now parses the 0b prefix of binary numbers the same way as GCC does.
GDB now parses 0b101010 identically with 42.

* New options

set follow-exec-mode new|same
show follow-exec-mode
Control whether GDB reuses the same inferior across an exec call or
creates a new one. This is useful to be able to restart the old
executable after the inferior having done an exec call.

set default-collect EXPR, ...
show default-collect
Define a list of expressions to be collected at each tracepoint.
This is a useful way to ensure essential items are not overlooked,
such as registers or a critical global variable.

set disconnected-tracing
show disconnected-tracing
If set to 1, the target is instructed to continue tracing if it
loses its connection to GDB. If 0, the target is to stop tracing
upon disconnection.

set script-extension off|soft|strict
show script-extension
If set to "off", the debugger does not perform any script language
recognition, and all sourced files are assumed to be GDB scripts.
If set to "soft" (the default), files are sourced according to
filename extension, falling back to GDB scripts if the first
evaluation failed.
If set to "strict", files are sourced according to filename extension.

set ada trust-PAD-over-XVS on|off
show ada trust-PAD-over-XVS
If off, activate a workaround against a bug in the debugging information
generated by the compiler for PAD types (see gcc/exp_dbug.ads in
the GCC sources for more information about the GNAT encoding and
PAD types in particular). It is always safe to set this option to
off, but this introduces a slight performance penalty. The default
is on.

* Python API Improvements

** GDB provides the new class gdb.LazyString. This is useful in
some pretty-printing cases. The new method gdb.Value.lazy_string
provides a simple way to create objects of this type.

** The fields returned by gdb.Type.fields now have an
`is_base_class' attribute.

** The new method gdb.Type.range returns the range of an array type.

** The new method gdb.parse_and_eval can be used to parse and
evaluate an expression.

* New remote packets

QTDV
Define a trace state variable.

qTV
Get the current value of a trace state variable.

QTDisconnected
Set desired tracing behavior upon disconnection.

qTfP, qTsP
Get data about the tracepoints currently in use.

* Bug fixes

Process record now works correctly with hardware watchpoints.

Multiple bug fixes have been made to the mips-irix port, making it
much more reliable. In particular:
- Debugging threaded applications is now possible again. Previously,
GDB would hang while starting the program, or while waiting for
the program to stop at a breakpoint.
- Attaching to a running process no longer hangs.
- An error occurring while loading a core file has been fixed.
- Changing the value of the PC register now works again. This fixes
problems observed when using the "jump" command, or when calling
a function from GDB, or even when assigning a new value to $pc.
- With the "finish" and "return" commands, the return value for functions
returning a small array is now correctly printed.
- It is now possible to break on shared library code which gets executed
during a shared library init phase (code executed while executing
their .init section). Previously, the breakpoint would have no effect.
- GDB is now able to backtrace through the signal handler for
non-threaded programs.

PIE (Position Independent Executable) programs debugging is now supported.
This includes debugging execution of PIC (Position Independent Code) shared
libraries although for that, it should be possible to run such libraries as an
executable program.

----
こがよういちろう


投稿者 xml-rpc : 2010年3月23日 09:13
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94465
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。