Differences between revisions 4 and 7 (spanning 3 versions)
Revision 4 as of 2008-03-11 09:04:36
Size: 1999
Editor: abuehl
Comment:
Revision 7 as of 2009-05-19 19:31:03
Size: 2024
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:

See also: DebuggingTests
Line 74: Line 76:
CategoryContributing CategoryInternals

Mercurial has a bunch of features for debugging problems that are useful for developers to know about.

See also: DebuggingTests

global options

-v, --verbose
  • show more verbose output
--debug
  • show extended debugging output
--traceback
  • show Python tracebacks that are otherwise hidden
--profile
  • generate performance profiling information
--debugger
  • drop into the built-in source-level debugger (more below)

debug commands

debugcheckstate
  • validate the correctness of the current dirstate
debugconfig
  • show combined config settings from all hgrc files
debugdata
  • dump the contents of an data file revision
debugindex
  • dump the contents of an index file
debugindexdot
  • dump an index DAG as a .dot file
debugrename
  • dump rename information
debugstate
  • show the contents of the current dirstate
debugwalk
  • show how files match on given patterns

To get a complete up-to-date list of all available debug commands use hg debugcomplete debug:

> hg debugcomplete debug
debugancestor
debugcheckstate
debugcomplete
debugconfig
debugdata
debugdate
debugfsinfo
debugindex
debugindexdot
debuginstall
debugrawcommit
debugrebuildstate
debugrename
debugsetparents
debugstate
debugwalk

Documentation for some debug commands is available through hg help:

> hg help debugstate
hg debugstate

show the contents of the current dirstate

use "hg -v help debugstate" to show global options

using the debugger

hg --debugger <command> will drop you at the debug prompt shortly before command execution. This will allow you to set breakpoints, singlestep code, inspect data structures, and run arbitrary bits of Python code. Help is available with '?'.

If you let Mercurial run (with 'cont'), the debugger will be reinvoked if an exception occurs. This is useful for diagnosing tracebacks in situ.


CategoryInternals

DebuggingFeatures (last edited 2018-03-14 19:43:27 by HollisBlanchard)