Make managed debugging on Linux possible (attach, load, bp, exceptions, stacktrace)
authorEugene Zemtsov <e.zemtsov@gmail.com>
Sat, 28 Mar 2015 11:42:11 +0000 (04:42 -0700)
committerEugene Zemtsov <Eugene.Zemtsov@microsoft.com>
Thu, 2 Apr 2015 21:55:16 +0000 (14:55 -0700)
commit697fd3992f4e113bd9d63d2ac6605cf67356c54d
treed28dac13216f53e52d4d8d18ff6ee793bbc52d17
parentcf104b93a168f7aaff7c14113b2f80106bbcc405
Make managed debugging on Linux possible (attach, load, bp, exceptions, stacktrace)

Fixes that were required to achieve that
1. Funnel SIGTRAP into EE debugger.
2. Making that memory allocated by EE debugger is executable.
3. Disable metadata reading optimizations which are not working on Linux.
4. Workaround RtlRestoreContext not properly working with EFlags.
5. Avoid calls to ShimRemoteDataTarget.GetContext on Linux, it is not
implemented and not needed for pure managed debugging.
6. Adjust IP value after breakpoint SIGTRAP to meet debuggers expectations.
src/debug/daccess/dacdbiimpl.cpp
src/debug/di/module.cpp
src/debug/ee/debugger.cpp
src/pal/src/exception/signal.cpp
src/utilcode/clrhost_nodependencies.cpp
src/vm/exceptionhandling.cpp