Delve: Why string value is truncated so?

Created on 10 Aug 2016  路  9Comments  路  Source: go-delve/delve

  1. What version of Delve are you using (dlv version)?
Delve Debugger
Version: 0.11.0-alpha
Build: 142d8827997378ff84434615edeec665f0092e05
IDEA Golang Plugin 0.12.1784
IntelliJ IDEA 2016.2
Build #IU-162.1121.32, built on July 9, 2016
Licensed to Andrey Kolkov
You have perpetual fallback license for this version
Subscription is active until November 12, 2017
JRE: 1.8.0_25-b18 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation
C:\Users\****\.IntelliJIdea2016.2\config\plugins\Go\lib\dlv\windows\dlv.exe --listen=localhost:3569 --headless=true exec C:\Users\****\AppData\Local\Temp\Run2go -- web
GOROOT=C:/Go
GOPATH=D:/Go
C:/Go\bin\go.exe build -o C:\Users\Andy\AppData\Local\Temp\Run2go -gcflags "-N -l" inframe
API server listening at: 127.0.0.1:3569
  1. What version of Go are you using? (go version)?
    go1.7rc5.windows-amd64
  2. What operating system and processor architecture are you using?
    Windows 10 64
  3. What did you do?
    Debug my app
  4. What did you expect to see?
    image
  5. What did you see instead?
    image
    {"name":"sql","addr":825741586320,"onlyAddr":false,"type":"string","realType":"string","kind":24,"value":"SELECT answ.id,russian,english,domain, us.user_name","len":188,"cap":0,"children":[],"unreadable":""},{"name":"rawSQL","addr":825741586336,"onlyAddr":false,"type":"string","realType":"string","kind":24,"value":"SELECT answ.id,russian,english,domain, us.user_name","len":183,"cap":0,"children":[],"unreadable":""},

@dlsniper

Most helpful comment

Delve only reads the first 64 characters of string, from the command line you can read the next 64 by using this syntax: print variable[64:]. An API client can change the maximum length of a string by passing the appropriate parameter.

All 9 comments

@kolkov does this appear appear correctly when running delve CLI without IDEA? If so then it may worth checking out the API and see if there's a difference there and if we can do anything about that. If not then it's a thing from delve and if cannot be controlled via the API then we can't do anything about it.

@dlsniper I do not know how to try it from the console ((

run these:

C:/Go\bin\go.exe build -o C:\Users\Andy\AppData\Local\Temp\Run2go -gcflags "-N -l" inframe
C:\Users\****\.IntelliJIdea2016.2\config\plugins\Go\lib\dlv\windows\dlv.exe exec C:\Users\Andy\AppData\Local\Temp\Run2go

b filename:linenumber
c // to start debugging
// do what needs to be done
p variablename // or use help to see the list of commands, I haven't used the CLI in a while

Delve only reads the first 64 characters of string, from the command line you can read the next 64 by using this syntax: print variable[64:]. An API client can change the maximum length of a string by passing the appropriate parameter.

@dlsniper ping

@kolkov I'm getting all the comments in this thread, thanks for ping.
@aarzilli please feel free to close the issue here and @kolkov please open the issue in the plugin tracker with a reference to this one.

Thank you.

Thanks!

In case anyone is still looking here, I used config max-string-len 1000 in the delve terminal, and then p would print more of the string.

@chaimleib life saver! I wanted to add this is a config option you can persist ~/.dlv/config.yaml. In case, other's stumble upon this issue as I did.

Was this page helpful?
0 / 5 - 0 ratings