Merged
Conversation
failfmi
reviewed
Aug 12, 2025
failfmi
reviewed
Aug 12, 2025
| } | ||
|
|
||
| async function startSolanaDebugger() { | ||
| // TODO: Maybe these can be moved to a separate config file with all the validation checks |
Collaborator
Author
There was a problem hiding this comment.
I haven't implemented that yet, because i try to follow the mindset of applying the smallest changes possible in the code in order to not introduce new bugs and issues.
failfmi
reviewed
Aug 12, 2025
failfmi
approved these changes
Aug 12, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
addressinstead of line.breakpointshe use command to start agave-ledger-tool on a specific breakpoint.input.jsonuser have created for the specific function.nextPlan
Implement breakpoint setting based on instruction address rather than source line(bp.location), since only one instruction can be debugged per run.
Ensure that when hitting a breakpoint in a different instruction, the user restarts agave-ledger-tool to load the new instruction input.
Enable solana-lldb to reuse the same .debug symbols and reconnect automatically on each new breakpoint.
What has been done
Step-through debugging is started when user uses
Continue processor typecontinuein solanaLLDBUsage Rules
User must create an input folder with a .json file per instruction named exactly after the instruction, e.g. input/initialize.json for pub fn initialize.
User must have Solana toolchain and LLVM tools (llvm-objdump, solana-lldb) in their system PATH.
Breakpoints can only be set inside lib.rs.
For native Solana programs, instructions to debug must have #[no_mangle] and #[inline(never)] annotations to ensure proper symbol visibility and debugging.