Igor Kulaychuk [Mon, 9 Apr 2018 13:26:57 +0000 (16:26 +0300)]
Fix MI message output
Igor Kulaychuk [Mon, 26 Mar 2018 10:35:02 +0000 (13:35 +0300)]
Avoid crashing when funceval does not work
Igor Kulaychuk [Mon, 9 Apr 2018 12:16:44 +0000 (15:16 +0300)]
Wait for coreclr to load (3s timeout) when attaching to process
Igor Kulaychuk [Mon, 9 Apr 2018 11:48:54 +0000 (14:48 +0300)]
Fix handling module paths with /proc/self prefix on Tizen
Igor Kulaychuk [Fri, 6 Apr 2018 21:03:10 +0000 (00:03 +0300)]
Fix output of MI `-thread-info` command
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Tue, 3 Apr 2018 17:27:36 +0000 (20:27 +0300)]
Merge pull request #16 from i-kulaychuk/debugger-tests
Debugger tests
Igor Kulaychuk [Tue, 3 Apr 2018 16:54:49 +0000 (19:54 +0300)]
Always close test process after performing a test
Igor Kulaychuk [Tue, 3 Apr 2018 08:35:33 +0000 (11:35 +0300)]
Fix misspellings and assembly references
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Mon, 2 Apr 2018 16:03:06 +0000 (19:03 +0300)]
Merge pull request #13 from a-okoshkin/refactoring
Minor refactoring
Igor Kulaychuk [Fri, 30 Mar 2018 15:13:05 +0000 (18:13 +0300)]
Update tests README
Igor Kulaychuk [Thu, 29 Mar 2018 14:55:47 +0000 (17:55 +0300)]
Update tests
Renamed tests.
Now it is required to specify test names in runner project.
Tests solution moved to tests directory.
Add ability to run debugger through custom pipe script.
Add script for running tests through sdb.
Igor Kulaychuk [Thu, 29 Mar 2018 12:37:11 +0000 (15:37 +0300)]
Add option for disabling libdbgshim installation
Andrey Okoshkin [Wed, 28 Mar 2018 16:53:25 +0000 (19:53 +0300)]
Use only output string stream instead of the input-output one
Igor Kulaychuk [Tue, 27 Mar 2018 18:47:02 +0000 (21:47 +0300)]
Enable handling MI status
Igor Kulaychuk [Tue, 27 Mar 2018 18:35:05 +0000 (21:35 +0300)]
Add test solution
Igor Kulaychuk [Tue, 27 Mar 2018 18:32:33 +0000 (21:32 +0300)]
Copy libdbgshim.so to install directory
Igor Kulaychuk [Mon, 25 Sep 2017 13:31:19 +0000 (16:31 +0300)]
Initial files for xunit-based tests
Andrey Okoshkin [Wed, 28 Feb 2018 10:25:25 +0000 (13:25 +0300)]
Refactoring of ManagedDebugger::RunProcess()
Andrey Okoshkin [Fri, 9 Feb 2018 14:00:36 +0000 (17:00 +0300)]
Move static `SymbolReaderDllName` and `SymbolReaderClassName` out of the header
Andrey Okoshkin [Fri, 9 Feb 2018 16:05:58 +0000 (19:05 +0300)]
Fixe size type cast (sized-unsized) in EscapeShellArg()
Andrey Okoshkin [Fri, 9 Feb 2018 16:05:11 +0000 (19:05 +0300)]
Drop unused variable in DisableAllBreakpointsAndSteppersInAppDomain()
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Wed, 21 Mar 2018 11:59:03 +0000 (14:59 +0300)]
Merge pull request #14 from a-okoshkin/change_cordebug_version
Use `CorDebugVersion_4_0` in `CreateDebuggingInterfaceFromVersionEx()`
Andrey Okoshkin [Wed, 21 Mar 2018 06:49:06 +0000 (09:49 +0300)]
Use `CorDebugVersion_4_0` in `CreateDebuggingInterfaceFromVersionEx()`
It was `CorDebugLatestVersion` previously.
Igor Kulaychuk [Fri, 16 Feb 2018 12:40:46 +0000 (15:40 +0300)]
Fix gbs build
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Mon, 12 Feb 2018 13:51:19 +0000 (16:51 +0300)]
Merge pull request #10 from a-okoshkin/fix_header_inclusion
Fix inclusion of some headers
Andrey Okoshkin [Fri, 9 Feb 2018 08:28:44 +0000 (11:28 +0300)]
Drop `common.h` as unused
Andrey Okoshkin [Fri, 9 Feb 2018 08:28:03 +0000 (11:28 +0300)]
Remove `common.h` header inclusion from `main.cpp`
Andrey Okoshkin [Thu, 8 Feb 2018 15:10:43 +0000 (18:10 +0300)]
Remove unnecessary header inclusions
Andrey Okoshkin [Thu, 8 Feb 2018 13:03:40 +0000 (16:03 +0300)]
Fixed header inclusions in `miprotocol.h`
Andrey Okoshkin [Thu, 8 Feb 2018 13:00:27 +0000 (16:00 +0300)]
Fixed header inclusions in `vscodeprotocol.h`
Andrey Okoshkin [Thu, 8 Feb 2018 12:49:01 +0000 (15:49 +0300)]
Fixed header inclusions in `valueprint.h`
Andrey Okoshkin [Thu, 8 Feb 2018 12:30:18 +0000 (15:30 +0300)]
Add missing header inclusions in `symbolreader.h`
Note that currently `TADDR` is not defined in `symbolreader.h` and
variables of this type are not used.
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Thu, 8 Feb 2018 13:12:19 +0000 (16:12 +0300)]
Merge pull request #11 from a-okoshkin/refactoring
Minor refactoring
Andrey Okoshkin [Thu, 8 Feb 2018 12:23:25 +0000 (15:23 +0300)]
Fixed header inclusions in `frames.h`
Andrey Okoshkin [Thu, 8 Feb 2018 12:23:00 +0000 (15:23 +0300)]
Fixed header inclusions in `typeprinter.h`
Andrey Okoshkin [Thu, 8 Feb 2018 12:21:32 +0000 (15:21 +0300)]
Fixed header inclusions in `manageddebugger.h`
Andrey Okoshkin [Wed, 7 Feb 2018 15:54:37 +0000 (18:54 +0300)]
Add missing inclusion of headers to modules.h
`pragma once` is added to `modules.h`.
Andrey Okoshkin [Wed, 7 Feb 2018 13:26:07 +0000 (16:26 +0300)]
Add missing inclusion of headers to debugger.h
Andrey Okoshkin [Wed, 7 Feb 2018 13:25:14 +0000 (16:25 +0300)]
Add missing `pragma once` to `torelease.h`
Andrey Okoshkin [Wed, 7 Feb 2018 13:00:38 +0000 (16:00 +0300)]
Make ParseGenericParams() and FindTypeInModule() static in expr.cpp
These functions are for local use only.
Andrey Okoshkin [Wed, 7 Feb 2018 12:56:48 +0000 (15:56 +0300)]
Fixed header inclusion for `platform.h`
Andrey Okoshkin [Thu, 8 Feb 2018 08:46:19 +0000 (11:46 +0300)]
Get rid of `cmdString` temporary variable in ManagedDebugger::RunProcess()
Andrey Okoshkin [Thu, 8 Feb 2018 08:44:10 +0000 (11:44 +0300)]
Use `nullptr` where it's possible
DereferenceAndUnboxValue(), PrintEnumValue(), PrintValue() and
Evaluator::WalkMembers() use `nullptr` instead of `NULL`.
Andrey Okoshkin [Thu, 8 Feb 2018 07:16:06 +0000 (10:16 +0300)]
Drop `-DCLR_CMAKE_TARGET_ARCH_AMD64=1` cmake option from README
Now it's not necessary to specify it for Ubuntu build.
Andrey Okoshkin [Wed, 7 Feb 2018 15:59:00 +0000 (18:59 +0300)]
Update `.gitignore`
* Add Qt Creator files
* Add build artifacts
Andrey Okoshkin [Wed, 7 Feb 2018 13:29:59 +0000 (16:29 +0300)]
Use `nullptr` everywhere in `class ToRelease`
Do not mix usage of `NULL` and `nullptr`.
Andrey Okoshkin [Wed, 7 Feb 2018 10:51:56 +0000 (13:51 +0300)]
Use `enum CorDebugInterfaceVersion` in CreateDebuggingInterfaceFromVersionEx()
Do not use magic numbers.
`CorDebugLatestVersion` (=`CorDebugVersion_4_5` is 5 for now) can be used
instead of current equivalent (4) of `CorDebugVersion_4_0`.
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Wed, 7 Feb 2018 16:27:42 +0000 (19:27 +0300)]
Merge pull request #12 from i-kulaychuk/wip-no-pal
Remove dependency on libmscordaccore, use PAL from libcoreclr instance
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Wed, 7 Feb 2018 16:23:04 +0000 (19:23 +0300)]
Merge pull request #9 from a-okoshkin/fix_wchar_convert
Minor improvement of wchar convertion
Andrey Okoshkin [Wed, 7 Feb 2018 10:35:08 +0000 (13:35 +0300)]
Add `to_utf16()` instead of `convert.from_bytes()`
Evaluator::GetFieldOrPropertyWithName(), ManagedDebugger::RunProcess() and
ManagedDebugger::AttachToProcess() use `to_utf16()` now.
Andrey Okoshkin [Wed, 7 Feb 2018 10:32:30 +0000 (13:32 +0300)]
Add missing usage of `to_utf8()` instead of `convert.to_bytes()`
Evaluator::WalkStackVars() and SymbolReader::LoadSymbolsForPortablePDB() use
`to_utf8()` now.
Andrey Okoshkin [Wed, 7 Feb 2018 10:23:16 +0000 (13:23 +0300)]
Added `pragma once` to cputil.h
Andrey Okoshkin [Wed, 7 Feb 2018 10:19:53 +0000 (13:19 +0300)]
Redesign of `to_utf8()`
* String length is not passed any more due to it's buggy implementation.
* New overloaded version for a single wide-char is added.
* `WCHAR` is not necessary to use in this header as `char16_t` has been already
passed to the `std::codecvt_utf8_utf16` template.
Igor Kulaychuk [Tue, 6 Feb 2018 20:06:41 +0000 (23:06 +0300)]
Use `dotnet` CLI to launch application
Igor Kulaychuk [Tue, 6 Feb 2018 19:45:58 +0000 (22:45 +0300)]
Dynamically load PAL symbols from libcoreclr instance
Now the debugger depends only on libdbgshim.
Igor Kulaychuk [Tue, 6 Feb 2018 19:26:29 +0000 (22:26 +0300)]
Add DLOpen and DLSym wrappers
Igor Kulaychuk [Tue, 6 Feb 2018 13:00:21 +0000 (16:00 +0300)]
Add `USleep` function (based in `usleep`) instead of `Sleep` from PAL
Igor Kulaychuk [Tue, 6 Feb 2018 12:52:43 +0000 (15:52 +0300)]
Use `std::wstring_convert()` instead of PAL-based conversion
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Mon, 5 Feb 2018 16:15:39 +0000 (19:15 +0300)]
Merge pull request #7 from a-okoshkin/refactoring
Minor code refactoring
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Mon, 5 Feb 2018 16:09:17 +0000 (19:09 +0300)]
Merge pull request #6 from d-kovalenko/upd_patches
Update patches for coreclr
Andrey Okoshkin [Mon, 5 Feb 2018 09:39:32 +0000 (12:39 +0300)]
`m_clrPath` is initialized in ManagedDebugger::AttachToProcess()
Previously `m_clrPath` was a local variable.
Andrey Okoshkin [Mon, 5 Feb 2018 09:18:43 +0000 (12:18 +0300)]
`GetCLRPath()` and `InternalEnumerateCLRs()` accept `pid` as `DWORD`
because underlying dbgshim API handles PID as `DWORD`.
Andrey Okoshkin [Mon, 5 Feb 2018 09:15:14 +0000 (12:15 +0300)]
`pid` is `DWORD` in Startup() and AttachToProcess() from ManagedDebugger
dbgshim API handles PID as `DWORD`.
Dmitry Kovalenko [Mon, 5 Feb 2018 09:00:39 +0000 (12:00 +0300)]
Update patches for coreclr
patches for review.tizen.org:29418/platform/upstream/coreclr:58c98ea
Signed-off-by: Dmitry Kovalenko <d.kovalenko@samsung.com>
Andrey Okoshkin [Mon, 5 Feb 2018 06:56:06 +0000 (09:56 +0300)]
Debugger::IsJustMyCode() is const now
Andrey Okoshkin [Fri, 2 Feb 2018 15:40:13 +0000 (18:40 +0300)]
Make EmitInitializedEvent() and EmitTerminatedEvent() one-line in VSCodeProtocol
Andrey Okoshkin [Fri, 2 Feb 2018 11:59:22 +0000 (14:59 +0300)]
Add missing initialisation of ManagedDebugger fields
* `m_lastStoppedThreadId` is set to 1
* `m_protocol` is set to nullptr
Andrey Okoshkin [Fri, 2 Feb 2018 11:55:35 +0000 (14:55 +0300)]
MIProtocol and VSCodeProtocol default constructors initialise m_debugger
MIProtocol::m_debugger and VSCodeProtocol::m_debugger are initialised as nullptr.
Andrey Okoshkin [Fri, 2 Feb 2018 11:53:39 +0000 (14:53 +0300)]
Drop extra ';' in MIProtocol header
EmitInitializedEvent() and EmitTerminatedEvent() have empty implementation.
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Thu, 1 Feb 2018 14:54:43 +0000 (17:54 +0300)]
Merge pull request #5 from a-okoshkin/improve_cmake
Improve CMake scripts
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Thu, 1 Feb 2018 14:54:18 +0000 (17:54 +0300)]
Merge pull request #4 from i-kulaychuk/enable-stopatentry
Add support for stopAtEntry option
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Thu, 1 Feb 2018 13:31:32 +0000 (16:31 +0300)]
Merge pull request #3 from i-kulaychuk/enable-logging
Add support for --engineLogging command line option
Igor Kulaychuk [Thu, 1 Feb 2018 13:15:48 +0000 (16:15 +0300)]
Always enable stopAtEntry when launching through MI protocol
Igor Kulaychuk [Thu, 1 Feb 2018 13:05:24 +0000 (16:05 +0300)]
Remove unused parameter
Igor Kulaychuk [Thu, 1 Feb 2018 13:02:33 +0000 (16:02 +0300)]
Add entry event in MI protocol
Igor Kulaychuk [Wed, 31 Jan 2018 18:06:03 +0000 (21:06 +0300)]
Add support for --engineLogging command line option
Andrey Okoshkin [Wed, 31 Jan 2018 15:17:50 +0000 (18:17 +0300)]
Defines related to the build target are properly set now
Target-related defines are set based on `CLR_CMAKE_TARGET_ARCH_*` variables
but not `CLR_CMAKE_PLATFORM_ARCH_*`.
Platform-related defines are set based on now `CLR_CMAKE_PLATFORM_ARCH_*`
but not `CLR_CMAKE_TARGET_ARCH_*`.
Now it's not necessary to explicitly set `CLR_CMAKE_TARGET_ARCH_*=1` for Linux.
Copied from CoreCLR CMake scripts.
Andrey Okoshkin [Wed, 31 Jan 2018 15:15:14 +0000 (18:15 +0300)]
CoreCLR libraries are imported first in `netcoredbg/CMakeLists.txt`
Beautification: the script is logically divided into parts now.
Andrey Okoshkin [Wed, 31 Jan 2018 15:12:21 +0000 (18:12 +0300)]
Add missing `clr_unknown_arch()` to clrdefinitions.cmake
Andrey Okoshkin [Wed, 31 Jan 2018 15:09:11 +0000 (18:09 +0300)]
Add default value for `CLR_BIN_DIR` cmake variable
By default it's equal to `CLR_DIR`.
Igor Kulaychuk [Tue, 30 Jan 2018 21:38:26 +0000 (00:38 +0300)]
Add support for stopAtEntry option
Igor Kulaychuk [Tue, 30 Jan 2018 12:53:22 +0000 (15:53 +0300)]
Compile only specified files when building SymbolReader
Igor Kulaychuk/SRR-Compiler Lab/./삼성전자 [Mon, 29 Jan 2018 16:18:28 +0000 (19:18 +0300)]
Merge pull request #2 from a-okoshkin/fix_cmake_managed_build
Add support of out-of-source SymbolReader build
Andrey Okoshkin [Mon, 29 Jan 2018 15:43:10 +0000 (18:43 +0300)]
Add support of out-of-source SymbolReader build
Custom CMake `dotnet build` command respects `CMAKE_CURRENT_BINARY_DIR`.
Igor Kulaychuk [Fri, 26 Jan 2018 19:37:23 +0000 (22:37 +0300)]
Fix OutputEvent body
Igor Kulaychuk [Wed, 24 Jan 2018 21:23:34 +0000 (00:23 +0300)]
Initial support for VSCode debugger protocol
Igor Kulaychuk [Wed, 24 Jan 2018 20:47:05 +0000 (23:47 +0300)]
Report number of available frames and use levels instead of high frame index
Igor Kulaychuk [Wed, 24 Jan 2018 20:17:32 +0000 (23:17 +0300)]
Move ManagedDebugger class declaration into a separate header
Igor Kulaychuk [Wed, 24 Jan 2018 13:51:16 +0000 (16:51 +0300)]
Add Continued event and clear variable references when this event happens
Igor Kulaychuk [Tue, 23 Jan 2018 22:41:55 +0000 (01:41 +0300)]
Refactor Debugger - make initialization more verbose
Igor Kulaychuk [Mon, 22 Jan 2018 16:08:27 +0000 (19:08 +0300)]
Fix frame id
Igor Kulaychuk [Mon, 22 Jan 2018 06:31:20 +0000 (09:31 +0300)]
Move JMC related methods into Modules class
Igor Kulaychuk [Fri, 19 Jan 2018 19:24:01 +0000 (22:24 +0300)]
Refactor printing loaded libraries (modules)
Igor Kulaychuk [Thu, 18 Jan 2018 20:04:57 +0000 (23:04 +0300)]
Rename commands.cpp to miprotocol.cpp
Igor Kulaychuk [Thu, 18 Jan 2018 20:02:05 +0000 (23:02 +0300)]
Move all MIProtocol methods implementations into commands.cpp
Igor Kulaychuk [Thu, 18 Jan 2018 19:53:45 +0000 (22:53 +0300)]
Refactor ManagedDebugger implementation into separate file
Igor Kulaychuk [Thu, 18 Jan 2018 19:41:37 +0000 (22:41 +0300)]
Refactor Debugger into the ManagedDebugger class which implements Debugger interface
Igor Kulaychuk [Thu, 18 Jan 2018 19:17:11 +0000 (22:17 +0300)]
Refactor variables handler into Variables class
Igor Kulaychuk [Thu, 18 Jan 2018 18:41:37 +0000 (21:41 +0300)]
Refactor breakpoints handler into the Breakpoints class
Igor Kulaychuk [Thu, 18 Jan 2018 18:06:10 +0000 (21:06 +0300)]
Do not allow access to private fields of ManagedCallback from Debugger