@@ -178,7 +178,8 @@ The hook will be called with the session file and the new set of breakpoint loca
178178 ; ; The result of initialize request. It holds the server capabilities.
179179 (initialize-result nil )
180180 (error-message nil )
181- (loaded-sources nil ))
181+ (loaded-sources nil )
182+ (program-proc))
182183
183184(cl-defstruct dap--parser
184185 (waiting-for-response nil )
@@ -581,7 +582,10 @@ thread exection but the server will log message."
581582 (interactive (list (dap--cur-active-session-or-die)))
582583 (dap--send-message (dap--make-request " disconnect"
583584 (list :restart :json-false ))
584- (dap--resp-handler)
585+ (lambda (result )
586+ (when-let (proc (dap--debug-session-program-proc session))
587+ (lsp--info " Killing process %s" proc)
588+ (kill-process proc)))
585589 session)
586590 (dap--resume-application session))
587591
@@ -1156,18 +1160,23 @@ before starting the debug process."
11561160 :wait-for-port :type :request :port
11571161 :environment-variables :hostName host) launch-args)
11581162 (session-name (dap--calculate-unique-name name (dap--get-sessions)))
1159- (default-directory (or cwd default-directory)))
1163+ (default-directory (or cwd default-directory))
1164+ program-process)
11601165 (mapc (-lambda ((env . value)) (setenv env value)) environment-variables)
11611166 (plist-put launch-args :name session-name)
11621167
11631168 (when program-to-start
1164- (compilation-start program-to-start 'dap-server-log-mode
1165- (lambda (_ ) (concat " *" session-name " server log*" ))))
1169+
1170+ (setf program-process
1171+ (get-buffer-process
1172+ (compilation-start program-to-start 'dap-server-log-mode
1173+ (lambda (_ ) (concat " *" session-name " server log*" ))))))
11661174 (when wait-for-port
11671175 (dap--wait-for-port host port dap-connect-retry-count dap-connect-retry-interval))
11681176
11691177 (unless skip-debug-session
11701178 (let ((debug-session (dap--create-session launch-args)))
1179+ (setf (dap--debug-session-program-proc debug-session) program-process)
11711180 (dap--send-message
11721181 (dap--initialize-message type)
11731182 (dap--session-init-resp-handler
0 commit comments