First off, thanks for the feedback!
I also wondered where the best place would be for this path mapping. However, I still think DebuggerBase is a good spot as the debuggers currently rely on knowing context.source_files. So whichever tool wants to use the debuggers will also have to fill context.source_files, and therefore also run in the problem of needing to remap paths to the ones used in the compilation unit. Moving this mapping into the test tool would prevent other tools from reusing it.
Also, moving this mapping into the test tool would require to make the source_files be relative paths (to the source_root_dir) before calling the debuggers.
This leads to a future me now needing to remember what kind of path is used where: An absolute file system path (test tool), a path relative to source_root_dir (DebuggerController), or a debug info path (Debugger).
Jun 11 2020
Jun 10 2020
Hey and thanks for this!
Jun 5 2020
Jun 3 2020
Hi Adrian (@aprantl)
seems I've made a more mundane error of committing a diff file as part of my patch. this has been reverted for now.
@aprantl I'll take a look, thanks for pointing them out.
Jun 2 2020
Landed in commit rG81e836a5a675f6a3d9d35560fddbbb87fdf66201
Landed in commit rGbf1cdc2c6c0460b7121ac653c796ef4995b1dfa9
removed and replaced LoadDebuggerException with DebuggerException in LLDB.
May 18 2020
Updated diff to correct revision for easing future historical searches
May 15 2020
@echristo thanks for your interest. do you need any further clarification on what dexter does or how this patch fits in with the existing behaviour?
May 13 2020
missing note, dbgeng does not support the new DexLimitSteps commands as of right now.
May 12 2020
Apr 27 2020
I prefer the current approach for readabilities sake as well as separating the two method calls out.
no, this would cause file path comparisons that are case sensitive to potentially fail on drive letter for windows.
Apr 22 2020
removed accidental new line deletion
in ./debuginfo-tests/CMakeLists.txt we have the following on line 27:
@jmorse I believe there's already a test in the cmake/config that checks the python version when generating the build.
thanks for this, LGTM.
Apr 21 2020
fix for failing test reported at D76926
fix for reported test failure at:
thanks for reporting. this issue should now be fixed.
Apr 20 2020
Apr 1 2020
The cdb tests taking longer may be a result of the dexter regression suite running along side them. SFAIK that's not intended behaviour.
Mar 31 2020
I've also added an internal ticket to add darwin support to the dexter regression suite... I don't think there'll be much appetite in-house for it but if there's a clear need to add it in the future then of course we'll consider putting in the work.
I've actually mailed these via the mailing list by accident, here's a copy of what I mailed:
Mar 27 2020
@Pierre-vh and not a problem buddy, I wish you all the best in your future endeavours, don't worry about feedback on the controller patch if it's not related to your current work! :) you get on with what you need to.
The debugger controller patch is now live and awaiting review at
I hope you're keeping safe in these unprecedented times!
Mar 23 2020
Mar 16 2020
Mar 11 2020
Mar 4 2020
Mar 3 2020
I haven't attempted to generalize my work as I entirely rely on the LLDB library for this (and I work on Linux so I can't work with any other debugger supported by Dexter)
Maybe we can try to find something together? Where do you wish to discuss this?
Feb 12 2020
Jan 24 2020
Jan 23 2020
KILL instruction is no reinstated and failing check line has been removed.
I missed adding you as a reviewer @djtodoro , my apologies. This has been rectified.
Jan 22 2020
Jan 14 2020
Jan 13 2020
I'll land this tomorrow as I'm off home now and don't want to risk getting buildbot emails all night.
addressed further feedback
thank you all for your valuable time.
Jan 10 2020
Dec 20 2019
Dec 18 2019
Added isMetaInstruction() Check in place of debug intrinsic and KILL check
Added a new comment explaining why this is safe to do.
Thanks for explaining, this makes sense to me. Any reason to not use MI.isMetaInstruction() as the guard? That would cause CFI/lifetime/EH_LABEL instructions to be skipped in addition to debug/kill instructions - would that be reasonable?
Dec 16 2019
removed unused declarations for stack protection.
removed vendor specific string from debug information
Added a comment to the KILL instruction check.
Apologies for the lack lustre description and vagueness of all this. Also, this is late coming due to sickness. My deepest and humblest apologies. Hope this clear things up though! enjoy.
Dec 10 2019
not a problem gents, I've been summarising my thoughts and triple checking to make sure this is a sound thing to do and have a response with updated patch and (hopefully) additional tests incoming shortly.
Nov 28 2019
A very gentle and polite ping.
Nov 25 2019
thanks for the patch!
Nov 21 2019
removed superflous attributes from function declarations.
Nov 20 2019
Thanks David, it was quickly pointed out to me internally that there's a better place for the check so I rushed to get a quick build and test done before updating.
moved Kill instruction check to a more relevant place
Nov 19 2019
some super nits. Patch is huge and difficult to parse, will require several passes I feel.