I need some help in using GDB + Python extensions for Go.
The struct LogQuery I am trying to look into is composed as follows:
LogQuery (struct)
CommonCmd (struct)
Context (struct)
out
Globs
flagHelp
...
flagLog
...
Breakpoint 3, acme/subcmds.CmdObj (context=..., cmdName="log_query", noname=
void) at /nobackup/git/goacme/src/acme/subcmds/cmder.go:32
32 cmd = NewLogQuery(context) //debugger
(gdb) s
acme/subcmds.NewLogQuery (context=..., noname=void)
at /nobackup/git/goacme/src/acme/subcmds/log_query.go:29
29 func NewLogQuery(context context.Context) LogQuery {
(gdb) n
30 obj := LogQuery{NewCommonCmd(context), "", "", "", "", 0, "", ""}
(gdb)
31 return obj
1 - printing the object (obj) inside the constructor works. But how do I see 'obj.Globs'?
(gdb) p obj
$8 = {acme/subcmds.CommonCmd = {acme/context.Context = {out = 0, Globs =
0xf840050140}, FlagArgs = "", flagDebug = "", flagHelp = false,
flagOutput = "", flagVerbose = false, CmdName = "", debug = 0x0},
flagColl = "", flagData = "", flagDb = "", flagHost = "", flagLimit = 0,
flagLog = "", flagQuery = ""}
Returning to the caller
(gdb) n
acme/subcmds.CmdObj (context=..., cmdName="log_query", noname=void)
at /nobackup/git/goacme/src/acme/subcmds/cmder.go:40
40 if cmdName == "acme" {
Here I see the type of the object, but can't seem to be able the see anything in it
(gdb) p cmd
$9 = "(subcmds.LogQuery)0xf840052b60"
(gdb) p $dtype(cmd)
$2 = (struct cmds.Add *) 0xf840034210
(gdb) p cmd->Globs
A syntax error in expression, near `>Globs'.
(gdb) p cmd.Globs
There is no member named Globs.