diff options
author | Mike McLaughlin <mikem@microsoft.com> | 2015-12-15 16:42:20 -0800 |
---|---|---|
committer | Mike McLaughlin <mikem@microsoft.com> | 2016-01-14 19:00:52 -0800 |
commit | dac4a490f66ef501fb8d7b246ed3c21a8bcfa485 (patch) | |
tree | e94702f122dd5eecad9a3a6a2795538bddb47f09 /cross | |
parent | f06fa2ea19a57631d7bac1fad232888a2c039a9b (diff) | |
download | coreclr-dac4a490f66ef501fb8d7b246ed3c21a8bcfa485.tar.gz coreclr-dac4a490f66ef501fb8d7b246ed3c21a8bcfa485.tar.bz2 coreclr-dac4a490f66ef501fb8d7b246ed3c21a8bcfa485.zip |
Add debugger launch to dbgshim for xplat.
Add the RegisterForRuntimeStartup/UnregisterForRuntimeStartup to dbghim. Executes
the callback when the coreclr runtime starts in the specified process. The callback
is passed the proper ICorDebug instance for the version of the runtime or an error if
something fails. This API works for launch and attach (and even the attach scenario
if the runtime hasn't been loaded yet) equally on both xplat and Windows. The callback
is always called on a separate thread. This API returns immediately.
The callback is invoke when the coreclr runtime module is loaded during early
initialization. The runtime is blocked during initialization until the callback
returns.
HRESULT
RegisterForRuntimeStartup(
__in DWORD dwProcessId,
__in PSTARTUP_CALLBACK pfnCallback,
__in PVOID parameter,
__out PVOID *ppUnregisterToken)
HRESULT
UnregisterForRuntimeStartup(
__in PVOID pUnregisterToken)
Most of the work is done for xplat in the PAL_RegisterForRuntimeStartup and
PAL_UnregisterForRuntimeStartup. On Windows, the APIs are implemented on top
of the old dbgshim ones.
Added reference counting to DbgTransportSession so the cleanup can be done after
the transport worker and the main code is finished.
Fix a hang in OSX initializing multiple PALs in the debugging test dbg, dbgshim
and mscordaccore by not calling FILEInitStdHandles() from PAL_InitializeDLL.
Fixed a minor EnumerateCLRs bug in an error path. A ThrowHR instead of returning
the HRESULT.
Better pipe file/dbg transport cleanup. Now also call the dbg transport connection
abort for an unhandled native exception. Added PROCAbort to replace most calls to
abort(). The shutdown handler is called in PROCAbort().
Cleanup debugger transport pipes on CTRL-C termination.
Cleanup process code; remove now useless CProcSharedData.
Added "PROCESS" PAL trace type.
Diffstat (limited to 'cross')
0 files changed, 0 insertions, 0 deletions