delve/pkg/proc/native
Alex Brainman 0cfe539052 proc/native: make sure debugged executable can be deleted on windows (#890)
* proc/native: make sure debugged executable can be deleted on windows

Delve opens debugged executable to read binary info it
contains, but it never closes the file. Windows will not
let you delete file that is opened. So close Process.bi
in Process.postExit, and actually call Process.postExit
from windows Process.Kill.

Also Windows sends some debugging events
(EXIT_PROCESS_DEBUG_EVENT event in particular) after Delve
calls TerminateProcess. The events need to be consumed by
debugger before debugged process will be released by
Windows. So call Process.waitForDebugEvent after
TerminateProcess in Process.Kill.

Fixes #398

* cmd/dlv: make TestIssue398 pass on darwin

* cmd/dlv: add comment for TestIssue398

* proc/native: wait for debuggee to exit before returning from windows Process.Kill

* proc/native: close process handle before returning from windows killProcess

* proc/native: remove not used Process.Process
2017-07-26 12:51:44 -06:00
..
exc_user_darwin.c proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
exc.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
exec_darwin.c proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
exec_darwin.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
mach_exc_user_darwin.c proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
mach_exc.defs proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
mach_exc.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
proc_darwin.c proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
proc_darwin.go proc/native/windows: inline PtraceDetach delete ptrace_windows.go (#903) 2017-06-29 11:13:32 -07:00
proc_darwin.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
proc_linux.go proc/native/windows: inline PtraceDetach delete ptrace_windows.go (#903) 2017-06-29 11:13:32 -07:00
proc_windows.go proc/native: make sure debugged executable can be deleted on windows (#890) 2017-07-26 12:51:44 -06:00
proc.go proc/native: make sure debugged executable can be deleted on windows (#890) 2017-07-26 12:51:44 -06:00
ptrace_darwin.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
ptrace_linux.go proc/core: support floating point registers (#912) 2017-07-20 13:04:00 -06:00
registers_darwin_amd64.go proc: refactoring: merge target into proc 2017-04-21 14:00:04 -07:00
registers_linux_amd64.go proc/core: support floating point registers (#912) 2017-07-20 13:04:00 -06:00
registers_windows_amd64.go proc: refactoring: merge target into proc 2017-04-21 14:00:04 -07:00
syscall_windows_amd64.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
syscall_windows.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
threads_darwin.c proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
threads_darwin.go proc/native: error when reading/writing memory of exited process (#812) 2017-05-01 09:57:37 -07:00
threads_darwin.h proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
threads_linux.go proc/native/linux: call waitFast instead of wait in addThread and halt (#855) 2017-05-30 11:08:27 -07:00
threads_windows.go proc/native: error when reading/writing memory of exited process (#812) 2017-05-01 09:57:37 -07:00
threads.go Fix various issues detected by megacheck (#880) 2017-06-29 11:15:59 -07:00
zsyscall_windows.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00