| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* fixes #21461; Move nim-gdb.py and add nim-lldb.py
* fixes bad path for nim-gdb.py
|
|
|
|
|
|
|
|
|
| |
* Support for printing tuple types
* Add test of printing a tuple
* Add support for printing tuples in GDB
* Forgot to [skip ci]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add support for orc strings
* Cleaned up testing script
Enums now printing properly
Merged both old and new strings into the one printer
Moving onto sets which seem kinda difficult
* Sets working
Instead of trying to imitate how Nim represents enums, I just call the dollar proc for each enum value
While this runs into problems if the user doesn't call the dollar proc anywhere, I believe its a decent tradeoff
I've cleaned up the error message for when it cannot find dollar proc (Might add in proper message on how to fix)
* Support sequences
V2 runtime seems to have sequences that don't have a len (Guessing its some kind of short seq optimisation?) but I've rolled
the implementation into normal sequences since the implementation is practically the same
* Clean up test program so it isn't using diff
Also don't redirect the first nim compile to /dev/null so that we can check for any compilation errors
I found the diff to be annoying to read (Seeing as the test script already performs diffing)
* Tables are now supported
* Add colours to test output
It was getting difficult to tell apart test output from GDB output so I added colour to better tell them apart
* Both old and new runtime are working
Set exit code in python test script so that this could possibly be added to the CI. Only issue is that it can be flaky (GDB crashes randomly for some reason)
* Remove old code that was commented out
If I need it later I'll just use git
* Remove branch that never runs
* Remove the old test output [skip ci]
|
|
|
|
|
|
|
| |
Debugger works for enums again. Additionally, flags work better than before.
Reworked object printer as well, but the approach needs much more work or has
to be replaced all together. This is mostly to save the work and myself or
someone else can revisit it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These fixes were primarily developed to assist in nimsuggest debugging. There
is nothing intentionally specific done for nimsuggest, but beyond the automated
tests all practical testing was done with nimsuggest. Undoubltedly these will
also assist in other debugging scenarios.
The current nim-dbg.py script was broken in a few ways:
- failed to provide detailed value information for common types (see below)
- was not passing existing tests
- could not produce type summary information
Broken types now working somewhat better:
- sequences with ref types like strings
- sequences with value types like ints
- arrays with ref types like strings
- tables with int or string keys
Other improvements:
- slightly more test coverage
Future considerations:
- this, data used by it, should be something the compiler can generates
- account for different memory layouts ([arc/orc differ](https://github.com/nim-lang/Nim/pull/16479#issuecomment-751469536))
Attempts at improving nim-gdb.py
More tests, few fixes for seq and type printing
Tables debugging fixed added further tests
Fixed type printing
|
| |
|
|
|
|
|
|
|
|
| |
* closes #12316
* make tjsonmacro work at js target
* closes #12289
* closes #11988
* also fixed gdb related stuff
|
| |
|
|
|