42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
![]() |
## Frequently Asked Questions
|
||
|
|
||
|
#### I'm getting an error while compiling Delve / unsupported architectures and OSs
|
||
|
|
||
|
The most likely cause of this is that you are running an unsupported Operating System or architecture.
|
||
|
Currently Delve supports Linux, Windows and macOS on the amd64 architecture (also known as Intel 86x64).
|
||
|
|
||
|
For example if you are getting the `undefined: ArchInst` error message while compiling Delve, that means that Delve doesn't currently support your processor architecture.
|
||
|
|
||
|
There is no planned ETA for support of other architectures or operating systems. Bugs tracking requested support are:
|
||
|
|
||
|
- [i386 support](https://github.com/go-delve/delve/issues/20)
|
||
|
- [ARM support](https://github.com/go-delve/delve/issues/118)
|
||
|
- [PowerPC support](https://github.com/go-delve/delve/issues/1564)
|
||
|
- [FreeBSD support](https://github.com/go-delve/delve/issues/213)
|
||
|
|
||
|
#### How do I use Delve with Docker?
|
||
|
|
||
|
When running the container you should pass the `--security-opt=seccomp:unconfined` option to Docker. You can start a headless instance of Delve inside the container like this:
|
||
|
|
||
|
```
|
||
|
dlv exec --headless --listen :4040 /path/to/executable
|
||
|
```
|
||
|
|
||
|
And then connect to it from outside the container:
|
||
|
|
||
|
```
|
||
|
dlv connect :4040
|
||
|
```
|
||
|
|
||
|
The program will not start executing until you connect to Delve and send the `continue` command. If you want the program to start immediately you can do that by:
|
||
|
|
||
|
1. Passing the `--accept-multiclient` option to the headless instance of delve: `dlv exec --headless --listen :4040 --accept-multiclient /path/to/executable`
|
||
|
2. Using the following script:
|
||
|
|
||
|
```
|
||
|
#!/bin/bash
|
||
|
while true; do sleep 1; dlv connect :4040 --init <(echo quit -c) && exit; done
|
||
|
```
|
||
|
|
||
|
Note that the connection to Delve is unauthenticated and will allow arbitrary remote code execution: *do not do this in production*.
|