GUI frontend for Delve

Gdlv is a graphical frontend to Delve for Linux, Windows and macOS.

Demo video here.

Screenshot

Gdlv on macOS

Setup

First install the current version of Delve, following Delve's install instructions.

Once Delve is installed, clone the repository and use go install to install gdlv:

$ git clone https://github.com/aarzilli/gdlv
$ cd gdlv
$ go install

If you are on Go 1.16 or later you can also use the new global install command, without cloning the repository first:

$ go install github.com/aarzilli/gdlv@latest

Use Ctrl+plus and Ctrl+minus, or config zoom 1.5 to change font size. See help for a list of available commands.

Other backends

On Linux gdlv uses shiny to draw its window and receive mouse and keyboard input from the Operating System. On macOS and Windows gio is used instead. This behavior can be changed using build tags:

go install -tags=nucular_gio github.com/aarzilli/gdlv

will force gdlv to use nucular_gio everywhere, conversely -tags=nucular_shiny will select the shiny backend on macOS. Additionally, on macOS, -tags=nucular_shiny,metal can be used to make shiny draw using the metal API.

News

2021-01-10 / Version 1.5

  • Better disassembly view
  • File descriptor redirects
  • Miscellaneous bug fixes

2020-04-25 / Version 1.4

  • Support reverse step/next/stepout
  • Support logical breakpoints
  • Fixes copying from scrollback editor
  • Fixes listing recentering on current line after a target resume

2020-03-27 / Version 1.3

  • Show goroutine labels
  • Support interrupting a recording

2020-01-28 / Version 1.2

  • Highlight changed variables in a different color
  • Add source code links in scrollback

2019-11-22 / Version 1.1

  • Added option to filter the goroutines window to only the goroutines matching a specified pattern.
  • Added -r option to the restart command which will rerecord the target (if it was recorded), also added the flaky script which runs the program repeatedly (rerecording it) until it hits any breakpoint.
  • Added -tags command line option to specify build tags for the target program.

2019-10-22 / Version 1.0 tagged

2019-06-07

  • Added Starlark as a scripting language

2019-05-11

  • Start from main.main instead of runtime.main.
  • Better interface when concurrent breakpoints happen during next, step or stepout.

2018-12-14

  • Deferred calls view.
  • Limit number of goroutines that are loaded (improves performance when debugging programs with tens of thousands of goroutines while the goroutines window is opened).
  • Make pastel theme the default theme.
  • Fixed bug handling disabled breakpoints.

2018-11-23

  • Fix build on go1.9
  • New, extended, syntax for pinning expressions dp @f/somefunc/ a will evaluate a in the first frame calling somefunc.

2018-10-29

2018-09-26

  • Breakpoint persistence
  • pretty printing of time.Time variables
  • Notification for truncated stack traces
  • Ability to have an expression's value printed to the command window every time a continue command completes.

2018-08-26

  • Fixed some race conditions
  • Redesigned detail views, they are now updated while stepping through the code

2018-08-16

  • Highlight variable names
  • Expose starting location of goroutines
  • Miscellaneous bug fixes

2018-07-02

  • Support font changes
  • Sort variables by declaration line
  • Miscellaneous bug fixes

2018-06-13

  • Print return values when stepping out of a function
  • Allow setting breakpoints after the program has exited

2018-05-21

  • Implemented path substitution rules

2018-02-12

  • Implemented "Continue to line"
  • Let restart change program arguments
  • Made load parameters configurable

2017-12-20

  • Support for upcoming go 1.10.
  • Changed how split windows are implemented (floating windows with docking).

2017-09-17

  • "Find Element" command: search through a slice or an array for the element matching a given expression.
  • New red theme.
  • Only recompile if one of the source files changed.
  • step -last command option to step into the last call on the line.
  • Search command history with Ctrl+R

2017-06-29

  • Pinning of expressions to specific execution frames.
  • Keybindings for continue, next, step and stepout
  • Compact visualization for interface values

2017-06-04

  • Custom formatters for user defined types.
  • Better executable building for go1.9

2017-05-18

  • Better formatting for maps and integer variables.

2017-05-07

  • Added core command
  • Support for multiple backends
  • Added "replay" startup command, "checkpoint" command and "Checkpoints" view.

2017-03-01

  • Horizontal scrollbars for all panels

2017-02-09

  • Goroutines panel will show a breakpoint icon for goroutines stopped at a breakpoint.

2017-02-06

  • Implemented selective step into. Right click on a function call on the current line to step into that function call (note: not that function, that function call). Also accessible through the step command with step -list:

Step Into

Owner
Alessandro Arzilli
silence is foo
Alessandro Arzilli
Comments
  • layout is changed when window is minimized

    layout is changed when window is minimized

    Example: https://www.youtube.com/watch?v=vLXF9g-1O4k

    I've been experiencing this for a while but wasn't sure what was causing it. Seems to be minimizing the window. If there's anything I can do to get more helpful information, let me know.

    The environment is pretty standard, building 45df4efb18600788cffd3aa9ca3f57a0b4bbd2bf with Go 1.16 on Windows 10 (19042.804).

  • Support you

    Support you

    I can't even express how much value this project has added to my development cycle since I found it a week ago. Thank you so much for building it!

    Do you have anywhere I can donate to support this project? Or is there some non-monetary way I can support it?

  • Invalid instruction running gdlv on macOS and connecting to dlv running in Debian

    Invalid instruction running gdlv on macOS and connecting to dlv running in Debian

    I'm running dlv --headless ... in Debian Buster in a Docker container, and then running gdlv connect on macOS, and when doing so the application doesn't start but instead outputs a panic.

    SIGILL: illegal instruction
    PC=0x7fff2eda88a1 m=8 sigcode=1
    signal arrived during cgo execution
    

    dlv OS: Debian Buster dlv Go version: go version go1.13.3 linux/amd64 dlv Commands to run:

    git clone https://github.com/leighmcculloch/gocheckregex
    cd gocheckregex
    git checkout 6b11be6c054271e7add4657d4603d1d522820ecf
    dlv  --headless --listen localhost:8000 test ./. -- -test.run 'TestCheckNoGlobals$' -test.v
    

    gdlv OS: macOS Catalina gdlv Go version: go version go1.13.3 darwin/amd64 gdlv Command:

    gdlv connect localhost:8000
    
    Full Output
    SIGILL: illegal instruction
    PC=0x7fff2eda88a1 m=8 sigcode=1
    signal arrived during cgo execution
    
    goroutine 36 [syscall, locked to thread]:
    runtime.cgocall(0x4517b50, 0xc00036e710, 0x41bc596)
    	/usr/local/go/src/runtime/cgocall.go:128 +0x5b fp=0xc00036e6e0 sp=0xc00036e6a8 pc=0x4004eab
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver._Cfunc_makeCurrentContext(0x5ab7b30)
    	_cgo_gotypes.go:298 +0x41 fp=0xc00036e710 sp=0xc00036e6e0 pc=0x4185491
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.drawLoop(0xc000364120, 0x1)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:147 +0x60 fp=0xc00036e7d0 sp=0xc00036e710 pc=0x4186540
    runtime.goexit()
    	/usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc00036e7d8 sp=0xc00036e7d0 pc=0x405c291
    created by github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.preparedOpenGL
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:92 +0xe4
    
    goroutine 1 [chan receive, locked to thread]:
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.drawgl(0x580aab0)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:134 +0x15e
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver._cgoexpwrap_27aa1b851ebe_drawgl(0x580aab0)
    	_cgo_gotypes.go:377 +0x2b
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver._Cfunc_startDriver()
    	_cgo_gotypes.go:311 +0x41
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.main(0xc0001201e0, 0x400e838, 0x10)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:107 +0x4d
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.Main(0xc0001201e0)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/gldriver.go:26 +0x2f
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver.main(...)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/driver_darwin.go:15
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver.Main(...)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/driver.go:24
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).Main(0xc0000bf400)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:73 +0x58
    main.main()
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/main.go:1030 +0x2bb
    
    goroutine 11 [semacquire]:
    sync.runtime_SemacquireMutex(0xc0000bf5b0, 0xc000364100, 0x1)
    	/usr/local/go/src/runtime/sema.go:71 +0x47
    sync.(*Mutex).lockSlow(0xc0000bf5ac)
    	/usr/local/go/src/sync/mutex.go:138 +0xfc
    sync.(*Mutex).Lock(...)
    	/usr/local/go/src/sync/mutex.go:81
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).main(0xc0000bf400, 0x471dfa0, 0x4b16d20)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:100 +0x2b0
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.driverStarted.func1()
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:114 +0x40
    created by github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.driverStarted
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/cocoa.go:113 +0x35
    
    goroutine 52 [chan receive]:
    github.com/aarzilli/gdlv/vendor/golang.org/x/mobile/gl.(*context).enqueue(0xc000350160, 0x57, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/mobile/gl/work.go:111 +0xd3
    github.com/aarzilli/gdlv/vendor/golang.org/x/mobile/gl.(*context).IsProgram(0xc000350160, 0x135c00, 0x4)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/mobile/gl/gl.go:1045 +0xcb
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.(*screenImpl).NewTexture(0x4b16d20, 0x280, 0x1e0, 0x0, 0x0, 0x0, 0x0)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/screen.go:78 +0x1a0
    github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver.(*windowImpl).Upload(0xc000364120, 0x0, 0x0, 0x47210e0, 0xc000360070, 0x0, 0x0, 0x280, 0x1e0)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/golang.org/x/exp/shiny/driver/gldriver/window.go:126 +0x126
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).updateLocked(0xc0000bf400)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:279 +0x274
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).updater.func1(0xc0000bf400, 0xc00036e7c7)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:226 +0x136
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).updater(0xc0000bf400)
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:238 +0x3c
    created by github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.(*masterWindow).main
    	/Users/leighmcculloch/go/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:96 +0x1c8
    
    rax    0x0
    rbx    0xc00036e710
    rcx    0x0
    rdx    0x0
    rdi    0x0
    rsi    0x1f08000c
    rbp    0x70000b6adef0
    rsp    0x70000b6adeb0
    r8     0x0
    r9     0x0
    r10    0x0
    r11    0x0
    r12    0x5ab7b30
    r13    0x0
    r14    0x4701932
    r15    0x0
    rip    0x7fff2eda88a1
    rflags 0x10202
    cs     0x2b
    fs     0x0
    gs     0x0
    
  • OSX screen elements (widgets) are much smaller.

    OSX screen elements (widgets) are much smaller.

    All the screen elements (widgets) are much smaller on OSX, compared to win10.

    In the nucular _demo there is no difference between OSX and windows10..

    So something in gdlv is making the screen size of all elements much smaller...

  • Puzzling differences between `gdlv run` and `gdlv debug` output.

    Puzzling differences between `gdlv run` and `gdlv debug` output.

    Hi Alessandro, firstly can I say thank you for producing this software. In my struggles to find a good solution for producing Golang I have been tried every combination of tools. For instance Atom is a fine editor, but currently the Go-Debug add-on does not work! VSCode on the other hand is a reasonable editor, but the linkup with Delve is horribly slow and the watch values are not even shown in hexadecimal! Now, I am using https://www.chimehq.com as my editor - it's small and fast, and I'm hoping to use gdlv as my debugger.

    However, I'm trying to debug the code at https://github.com/carlca/gowig. If I run gdlv with gdlv run main.go Diffusion,bwpreset the value size is correctly printed with the value 7. If I use gdlv debug main.go Diffusion.bwpreset the value size is shown on screen as having the value 1025535859. Instinctively I feel that something may not be quite right here ;-) Maybe, having just started using gdlv, I'm doing something wrong. What do you think?

    Cheers, Carl

  • gdlv exec error: no sRGB texture formats found

    gdlv exec error: no sRGB texture formats found

    gdlv version 1.7 dlv version 1.7.2 go version 1.17.1 darwin/amd64 macOS 11.6, build; 20G165

    Running

    dlv exec path/to/bin

    returns immediate error:

    error: no sRGB texture found

    Anybody know the cause/fix for this?

  • go install: error related to Foundation

    go install: error related to Foundation

    I get the following while trying to install. I can try to figure it out by myself, but given I'm a noob when it comes to MacOS stuff, it could very well be something trivial that you already know the answer to, hence the issue.

    $ go install
    # gioui.org/app/internal/cocoainit
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/libxml/module.modulemap:1:8: error: redefinition of module 'libxml2'
    module libxml2 [system] [extern_c] {
           ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/libxml2/module.modulemap:1:8: note: previously defined here
    module libxml2 [system] [extern_c] {
           ^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreFoundation' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    While building module 'Dispatch' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:20:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/dispatch/dispatch.h:59:10: fatal error: could not build module 'os_object'
    #include <os/object.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreFoundation' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:60:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:17:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:20:10: fatal error: could not build module 'Dispatch'
    #include <dispatch/dispatch.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:6:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreGraphics' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSGeometry.h:9:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CoreGraphics.h:8:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGBase.h:12:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CFBase.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreGraphics' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSGeometry.h:9:
    While building module 'IOKit' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGDisplayConfiguration.h:12:
    In file included from <module-includes>:4:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/IOKit.framework/Headers/IOCFBundle.h:26:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'Security' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLCredential.h:9:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:27:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecBase.h:28:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CFBase.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
    While building module 'DiskArbitration' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:56:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/DiskArbitration.framework/Headers/DiskArbitration.h:27:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'CoreServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSURLError.h:15:
    While building module 'CFNetwork' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:31:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CFNetwork.framework/Headers/CFNetwork.h:18:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'XPC' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSXPCConnection.h:14:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/xpc/xpc.h:6:10: fatal error: could not build module 'os_object'
    #include <os/object.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'ApplicationServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleEventDescriptor.h:9:
    In file included from <module-includes>:1:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:23:10: fatal error: could not build module 'CoreServices'
    #include <CoreServices/CoreServices.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'ApplicationServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleEventDescriptor.h:9:
    While building module 'CoreText' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Headers/SFNTLayoutTypes.h:16:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreText.framework/Headers/CoreText.h:20:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFont.h:20:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontDescriptor.h:20:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreText.framework/Headers/CTFontTraits.h:14:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'ApplicationServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleEventDescriptor.h:9:
    While building module 'ColorSync' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:31:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ColorSync.framework/Headers/ColorSync.h:10:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ColorSync.framework/Headers/ColorSyncBase.h:12:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    While building module 'Foundation' imported from vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:
    While building module 'ApplicationServices' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSAppleEventDescriptor.h:9:
    While building module 'ImageIO' imported from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Headers/ApplicationServices.h:47:
    In file included from <module-includes>:1:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ImageIO.framework/Headers/ImageIO.h:10:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/ImageIO.framework/Headers/ImageIOBase.h:16:10: fatal error: could not build module 'CoreFoundation'
    #include <CoreFoundation/CoreFoundation.h>
     ~~~~~~~~^
    vendor/gioui.org/app/internal/cocoainit/cocoa_darwin.go:9:9: fatal error: could not build module 'Foundation'
    #import <Foundation/Foundation.h>
     ~~~~~~~^
    16 errors generated.
    

    I'm on macOS 10.15.7, and dlv itself is already installed and seems to be working fine.

  • How to debug a test?

    How to debug a test?

    in dlv it's simple. I can just:

    $ dlv test ./control
    (dlv) break control.TestDockerGetsRepos
    (dlv) continue
    

    from the root of my project where there is a go test: ./control/docker_test.go

    with a test function: func (suite *DockerSuite) TestDockerGetsRepos() {...}

    If I do gdlv test ./control I get:

    Compiling...done
    can't load package: package gerrit.it.here.com/olp/dp/ipaas: no buildable Go source files in /Users/jeremybr/Dev/src/gerrit.it.here.com/olp/dp/ipaas
    
    exit status 1
    
  • Document Shortcuts

    Document Shortcuts

    I was about to create an issue to tell to increase the font size just like #4 and found that there's a shortcut for it. It would be nice if all the shortcuts (if there are more) were documented.

  • Make possible saving layouts

    Make possible saving layouts

    Hi!

    First of all, thanks for the project.

    I'd like to ask you to make possible to save panels layouts. Currently, every time I open gdlv, it displays the Listing, Command, Stacktrace and Variables panels, and I always find myself adding Breakpoints and Sources. It's tedious and time consuming to do this setup again and again. So, if there was an option to save the current layout (or even save it automatically like gdlv does with breakpoints) for them to be restored the next time I run gdlv, it would come in handy.

  • Can not connect to display server

    Can not connect to display server

    gdlv core <executable> <core> panics immediately upon start with an "empty display string" panic:

    gdlv core ./hello core
    panic: empty display string
    
    goroutine 1 [running]:
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/clipboard.Start()
    	/usr/local/google/home/jbd/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/clipboard/clipboard_linux.go:26 +0x7e
    github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular.NewMasterWindow(0x80, 0x98dbfa, 0x4, 0x9ae7b8, 0x0, 0x0)
    	/usr/local/google/home/jbd/src/github.com/aarzilli/gdlv/vendor/github.com/aarzilli/nucular/shiny.go:91 +0x197
    main.main()
    	/usr/local/google/home/jbd/src/github.com/aarzilli/gdlv/main.go:675 +0xd5
    
  • Support `cond` command

    Support `cond` command

    I tend to use the cond command a lot when debugging tests just to get dlv to stop when I reach the correct test. will it be possible to add support for cond in gdlv?. Not having cond is the only blocker for me to switch from cli dlv to gdlv. I'm sure I can't be the only one :)

  • Drag scrolling (on macOS laptop with a retina display) is too fast

    Drag scrolling (on macOS laptop with a retina display) is too fast

    There may be a way to adjust this, but I could not find it.

    What I want is to scroll with drag gestures on my trackpad; this "works" but instead of scrolling a few lines, unless I am very careful with my drag motion, the contents of the window fly past too quickly.

    I wonder if this is an interaction with the magnification/zoom for a retina display.

  • allow text selection and copy in non-Command windows

    allow text selection and copy in non-Command windows

    Currently it's only possible to select and copy text in the Command window, but it can also be useful to copy text in other windows to the system pasteboard, particularly values inspected on the stack or heap. Screenshot and OCR or manual typing is not where it's at :)

GUI frontend for Delve
GUI frontend for Delve

Gdlv is a graphical frontend to Delve for Linux, Windows and macOS. Demo video here. Setup First install the current version of Delve, following Delve

Dec 23, 2022
Delve is a debugger for the Go programming language.
Delve is a debugger for the Go programming language.

The GitHub issue tracker is for bugs only. Please use the developer mailing list for any feature proposals and discussions. About Delve Installation L

Dec 29, 2022
Delve is a debugger for the Go programming language.
Delve is a debugger for the Go programming language.

The GitHub issue tracker is for bugs only. Please use the developer mailing list for any feature proposals and discussions. About Delve Installation L

Dec 29, 2022
Go test command line interface for dlv(delve)

What does it do? Delver makes the command line interface for starting dlv the same as the one used in go test Example Say you're using this when devel

Jan 7, 2022
turn a directory into a GUI, slash example of VNC-based GUI

dirgui @rsnous on Jan 11, 2021: "idea: filesystem<->GUI adapter, where a directory turns into a form, executable files inside that directory turn into

May 3, 2022
Scrape the Twitter Frontend API without authentication with Golang.

Twitter Scraper Twitter's API is annoying to work with, and has lots of limitations — luckily their frontend (JavaScript) has it's own API, which I re

Dec 29, 2022
protoc-gen-grpc-gateway-ts is a Typescript client generator for the grpc-gateway project. It generates idiomatic Typescript clients that connect the web frontend and golang backend fronted by grpc-gateway.

protoc-gen-grpc-gateway-ts protoc-gen-grpc-gateway-ts is a Typescript client generator for the grpc-gateway project. It generates idiomatic Typescript

Dec 19, 2022
📦 CLI for setting up a Go WebAssembly frontend app
📦 CLI for setting up a Go WebAssembly frontend app

Simple CLI for setting up Go WebAssembly frontend app. What's included ??️ Dev Server with live reload ??️ TinyGo for small WebAssembly output ➡ Git s

Dec 3, 2022
Roxy the Frontend Proxy

roxy Roxy the Frontend Proxy Our mascot, Roxy Lalonde. Roxy is an Internet-facing frontend proxy which provides the following features: Automatically

Dec 7, 2022
⚙️ Concept of Golang HTML render engine with frontend components and dynamic behavior
⚙️ Concept of Golang HTML render engine with frontend components and dynamic behavior

An HTML render engine concept that brings frontend-like components experience to the server side with native html/template on steroids. Supports any s

Nov 25, 2022
Plenti Static Site Generator with Go backend and Svelte frontend
Plenti Static Site Generator with Go backend and Svelte frontend

Plenti Static Site Generator with Go backend and Svelte frontend Website: https://plenti.co Requirements ❗ You must have NodeJS version 13 or newer As

Jan 2, 2023
⚙️ Concept of Golang HTML render engine with frontend components and dynamic behavior

SSC Engine An HTML render engine concept that brings frontend-like components experience to the server side with native html/template on steroids. Sup

Nov 25, 2022
✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!
✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!

✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command!

Dec 31, 2022
A barebones URL Shortener implementation in Go using Gin and MySQL. Also features a basic frontend.

URL Shortener in Go This is a barebones URL Shortener implementation in Go using the Gin web framework and MySQL. Also features a basic frontend. Loca

Dec 22, 2021
Backend server for a tic-tac-toe game. frontend is a simple .md file.

Backend server for a tic-tac-toe game. frontend is a simple .md file.

Nov 20, 2022
A basic example of a go web server with a react frontend
A basic example of a go web server with a react frontend

GO-React starter This is a basic example of a go web server with a react frontend. It uses the go fiber framework Getting started Running locally Clon

Nov 16, 2021
Golang SSR-first Frontend Library
Golang SSR-first Frontend Library

kyoto Library that brings frontend-like components experience to the server side with native html/template on steroids. Supports any serving basis (ne

Nov 25, 2022
Frontend to display data from huskyCI analyses
Frontend to display data from huskyCI analyses

How does it work? The main goal of this project is to provide a front-end for every huskyCI user to check the stats of the analyses done. If you don't

Dec 21, 2022
Chainrand contract + web frontend + web backend

Chainrand-web This repo contains the implementation of Chainrand. https://chainrand.io Smart Contract Contains functionality to tie a Chainlink VRF to

Dec 8, 2021
REST API written in GO with PostgreSQL and Nginx Proxy + Certbot Let's Encrypt HTTPS certificates + Graphical Frontend in PHP. Deployed via docker-compose.

SSOA-PT REST APP Services Backend: REST API in Go Database: PostgreSQL Web Proxy: Nginx Let's Encrypt HTTPS certificates with certbot Frontend: PHP Ap

Mar 19, 2022