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
Andrey Okoshkin [Wed, 28 Mar 2018 16:53:25 +0000 (19:53 +0300)]
Use only output string stream instead of the input-output one
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
Igor Kulaychuk [Thu, 18 Jan 2018 17:58:58 +0000 (20:58 +0300)]
Make GetThreadsState function non-static
Igor Kulaychuk [Thu, 18 Jan 2018 17:56:19 +0000 (20:56 +0300)]
Refactor Modules namespace into Modules class
Igor Kulaychuk [Wed, 17 Jan 2018 23:12:43 +0000 (02:12 +0300)]
Make PrintFrameLocation a private static method of the MIProtocol class
Igor Kulaychuk [Wed, 17 Jan 2018 23:11:00 +0000 (02:11 +0300)]
Make DisableAllSteppers a private static method of the Debugger class
Igor Kulaychuk [Wed, 17 Jan 2018 23:03:06 +0000 (02:03 +0300)]
Refactor last stopped thread id global variable
Igor Kulaychuk [Wed, 17 Jan 2018 22:55:59 +0000 (01:55 +0300)]
Refactor global process variable
Igor Kulaychuk [Wed, 17 Jan 2018 22:01:49 +0000 (01:01 +0300)]
Move all Evaluator methods implementations into expr.cpp and valuewalk.cpp
Igor Kulaychuk [Wed, 17 Jan 2018 21:58:14 +0000 (00:58 +0300)]
Refactor all evaluation related functions into separate Evaluator class
Igor Kulaychuk [Wed, 17 Jan 2018 20:25:54 +0000 (23:25 +0300)]
Match only full paths when setting a breakpoint
Igor Kulaychuk [Wed, 17 Jan 2018 20:25:02 +0000 (23:25 +0300)]
Refactor internal structure for handling breakpoints
Igor Kulaychuk [Tue, 16 Jan 2018 21:30:08 +0000 (00:30 +0300)]
Make methods SetJustMyCode/IsJustMyCode non-static
Igor Kulaychuk [Tue, 16 Jan 2018 21:00:55 +0000 (00:00 +0300)]
Add virtual destructor to Protocol interface
Igor Kulaychuk [Tue, 16 Jan 2018 20:59:33 +0000 (23:59 +0300)]
Construct ManagedCallback class instance inside Debugger constructor
Igor Kulaychuk [Tue, 16 Jan 2018 20:29:53 +0000 (23:29 +0300)]
Rename varobj.cpp to variables.cpp
Igor Kulaychuk [Tue, 16 Jan 2018 20:28:19 +0000 (23:28 +0300)]
Move class constructor related global variables into Debugger class