mirror of
				https://github.com/go-delve/delve.git
				synced 2025-10-31 02:36:18 +08:00 
			
		
		
		
	 cb91509630
			
		
	
	cb91509630
	
	
	
		
			
			For commands that could produce large amounts of output switch to a pager command ($DELVE_PAGER, $PAGER or more) after a certain amount of output is produced. Fixes #919
		
			
				
	
	
	
		
			3.0 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			3.0 KiB
		
	
	
	
	
	
	
	
Using Delve
You can invoke Delve in multiple ways, depending on your usage needs. Delve makes every attempt to be user-friendly, ensuring the user has to do the least amount of work possible to begin debugging their program.
The available commands can be grouped into the following categories:
- Specify target and start debugging with the default terminal interface:
- Trace target program execution
- Start a headless backend server only and connect with an external frontend client:
- dlv --headless <command> <target> <args> 
- starts a server, enters a debug session for the specified target and waits to accept a client connection over JSON-RPC or DAP
- <command>can be any of- debug,- test,- exec,- attach,- coreor- replay
- if --headlessflag is not specified the default terminal client will be automatically started instead
- compatible with dlv connect, VS Code Go, GoLand
 
- dlv dap
- starts a DAP-only server and waits for a DAP client connection to specify the target and arguments
- compatible with VS Code Go
- NOT compatible with dlv connect, GoLand
 
- dlv connect <addr>
- starts a terminal interface client and connects it to a running headless server over JSON-RPC
 
 
- dlv --headless <command> <target> <args> 
- Help information
The above list may be incomplete. Refer to the auto-generated complete usage document to further explore all available commands.
Environment variables
Delve also reads the following environment variables:
- $DELVE_EDITORis used by the- editcommand (if it isn't set the- $EDITORvariable is used instead)
- $DELVE_PAGERis used by commands that emit large output (if it isn't set the- $PAGERvariable is used instead, if neither is set- moreis used)
- $TERMis used to decide whether or not ANSI escape codes should be used for colorized output
- $DELVE_DEBUGSERVER_PATHis used to locate the debugserver executable on macOS