Expand description
Stack trace handling for Perl DAP
This crate provides types and utilities for parsing and managing stack traces in the Debug Adapter Protocol (DAP) format for Perl debugging.
§Overview
The crate provides:
StackFrame- Represents a single stack frameStackTraceProvider- Trait for stack trace retrievalPerlStackParser- Parser for Perl debugger stack outputFrameClassifier- Classifies frames as user code vs library code
§Example
use perl_dap_stack::{StackFrame, Source, PerlStackParser};
let mut parser = PerlStackParser::new();
let output = " #0 main::foo at /path/script.pl line 42";
if let Some(frame) = parser.parse_frame(output, 0) {
assert_eq!(frame.name, "main::foo");
assert_eq!(frame.line, 42);
}Structs§
- Perl
Frame Classifier - Default Perl frame classifier.
- Perl
Stack Parser - Parser for Perl debugger stack trace output.
- Source
- Represents a source file in the debugging context.
- Stack
Frame - Represents a stack frame in the call stack.
Enums§
- Frame
Category - Categories for stack frame classification.
- Source
Presentation Hint - Presentation hints for source display.
- Stack
Frame Presentation Hint - Presentation hints for stack frame display.
- Stack
Parse Error - Errors that can occur during stack trace parsing.
Traits§
- Frame
Classifier - Trait for classifying stack frames.
- Stack
Trace Provider - Trait for providing stack traces.
Functions§
- filter_
user_ visible_ frames - Filter out internal debugger and shim frames from user-visible stack traces.
- is_
internal_ frame - Returns true when a frame belongs to debugger/shim internals.
- is_
internal_ frame_ name_ and_ path - Returns true when a frame belongs to debugger/shim internals.