{"size": 948, "ext": "scrbl", "max_stars_repo_path": "share/pkgs/racket-doc/scribblings/reference/debugging.scrbl", "max_stars_repo_name": "takikawa/racket-ppa", "max_stars_repo_stars_event_min_datetime": "2018-07-29T04:13:52.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-14T16:11:17.000Z", "max_issues_repo_path": "share/pkgs/racket-doc/scribblings/reference/debugging.scrbl", "max_issues_repo_name": "takikawa/racket-ppa", "max_issues_repo_issues_event_min_datetime": "2017-08-25T20:26:37.000Z", "max_issues_repo_issues_event_max_datetime": "2022-02-26T17:48:40.000Z", "max_forks_repo_path": "share/pkgs/racket-doc/scribblings/reference/debugging.scrbl", "max_forks_repo_name": "takikawa/racket-ppa", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 10, "max_issues_count": 15, "max_forks_count": null, "avg_line_length": 43.0909090909, "max_line_length": 79, "alphanum_fraction": 0.7943037975}
#lang scribble/doc
@(require "mz.rkt")

@title[#:tag "debugging"]{Debugging}

Racket's built-in debugging support is limited to context (i.e.,
``stack trace'') information that is printed with an exception. In
some cases, for @tech{BC} implementation of Racket, disabling the
@tech{JIT} compiler can affect context information. For the @tech{CS}
implementation of Racket, setting the @envvar-indexed{PLT_CS_DEBUG} environment
variable causes compilation to record expression-level context
information, instead of just function-level information.

The @racketmodname[errortrace] library supports more consistent
(independent of the compiler) and precise context
information. The @racketmodname[racket/trace] library provides simple
tracing support. Finally, the @seclink[#:doc '(lib
"scribblings/drracket/drracket.scrbl") "top" #:indirect? #t]{DrRacket}
programming environment provides much more debugging support.

@include-section["trace.scrbl"]
