script_debug: add C++ EvalScript hook with fExec#139
script_debug: add C++ EvalScript hook with fExec#139sedited merged 7 commits intosedited:feature_script_debugfrom
Conversation
|
Thank you for your contribution! Can I ask you to do the following:
|
c41e81d to
eeb8096
Compare
sedited
left a comment
There was a problem hiding this comment.
Thanks, the feature gate seems to be working nicely.
|
@sedited Thank you for the review! I applied your comments to new commits. |
|
@febyeji did you forget to push those? I am not seeing the changes here. |
|
@sedited Sorry, I didn't push correctly. 2959888 is the last commit that I added. Now I see that concurrent testing for script_debug triggers an error and |
Mmh, I'm not sure we can fix this on a fundamental level. My impression is that your approach with filtering is as good as we can do here. There is just no way of injecting contextual information that would differentiate between a debug call and a normal call. Honestly, Or do you have another suggestion? I don't think this is a blocker though. I would however suggest protecting the registration of the callback with a mutex. |
I am happy to leave as it is.
Thank you, I replaced |
|
Thanks for taking my suggestions, this looks about ready. Can you squash the parallel verification fixes? I think we'll just deal with running them with Are you keen to carry on with this? A richer script debugger in the style of btcdeb is what I originally had in mind for this project. If you look at it, it has not received any maintenance in a while. I think that is because it is tightly coupled to Bitcoin Core's code and tooling. The approach here is very lightweight: We just sprinkle a couple of macros in and get a full execution trace back. I think it is also superior to other similar "script debugging" projects that re-implement the entire script interpreter, which often introduces bugs. |
|
Thank you for the review! I've squashed the commits.
I'm keen to carry on with this. Do you have thoughts on what features to prioritize next? |
0c7f408 to
057d0cd
Compare
057d0cd to
701081a
Compare
I'll merge this into the feature branch (once the CI passes), then I think there are a few things that could be worked on:
|
script_debugbranch.