summaryrefslogtreecommitdiff
path: root/cross
diff options
context:
space:
mode:
authorMike McLaughlin <mikem@microsoft.com>2015-12-15 16:42:20 -0800
committerMike McLaughlin <mikem@microsoft.com>2016-01-14 19:00:52 -0800
commitdac4a490f66ef501fb8d7b246ed3c21a8bcfa485 (patch)
treee94702f122dd5eecad9a3a6a2795538bddb47f09 /cross
parentf06fa2ea19a57631d7bac1fad232888a2c039a9b (diff)
downloadcoreclr-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