public Login
untagged
+ New

3 posts:

2020-05-07

Go Debugger

The Go debugger is Delve.

The command to invoke it is dlv. In good old unix tradition, it lacks vowels :-).

You can't see the source before you started the program (actually I think I managed to do that once), but you can set a breakpoint:

(dlv) b /home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:20 Breakpoint 1 set at 0xaa54ef for wwuiserver_echo/concepts.TestGetMembersWithFilter() ./concepts/getmembers_test.go:20

And then you can run/continue the program:

``` (dlv) c INFO[0000] LoadConfig Configuration loaded from /home/hjp/wrk/wsr/wwui/wwui-backend/config.json INFO[0000] test db set up - committing
DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{109 17 26 Europa {{1 true}} [] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{110 17 27 Mitteleuropa {{2 true}} [0xc000288960 0xc000288a80] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{111 27 28 Tschechien {{10 true}} [] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{112 27 29 Slowakei {{20 true}} [] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{107 17 24 Deutschland {{0 false}} [] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{106 17 23 Österreich {{0 false}} [] false} DEBU[0000]/home/hjp/wrk/wsr/wwui/wwui-backend/concepts/getmembers_test.go:33 wwuiserver_echo/concepts.checksortOrder() checksortOrder &{108 17 25 Schweiz {{0 false}} [] false}

wwuiserver_echo/concepts.TestGetMembersWithFilter() ./concepts/getmembers_test.go:20 (hits goroutine(51):1 total:1) (PC: 0xaa54ef) 15: log.SetLevel(log.DebugLevel) 16: checksortOrder(t, response.Node) 17: } 18: 19: func TestGetMembersWithFilter(t *testing.T) { => 20: setupTestDb() 21: response, err := DB.GetMembers("wdstest", berichtsregionId, []string{"facttable_test"}) 22: assert.Equal(t, nil, err) 23: log.SetReportCaller(true) 24: log.SetLevel(log.DebugLevel) 25: checksortOrder(t, response.Node) (dlv) ```

2020-03-29

tcpdump und die Sommerzeit

Ein laufendes tcpdump bekommt einen Wechsel in die Sommerzeit nicht mit:

09:38:20.295018 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 09:38:20.352045 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 09:38:30.038081 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 09:38:30.094754 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 09:38:40.412256 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 09:38:40.412465 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 ^C 13082 packets captured 13084 packets received by filter 0 packets dropped by kernel tcpdump host 80.249.000.000 0.67s user 1.46s system 0% cpu 15:47:23.34 total fw-extern:~ 10:38 :-) 82# tcpdump host 80.249.000.000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens1f0, link-type EN10MB (Ethernet), capture size 262144 bytes 10:39:00.325750 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 10:39:00.325944 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 10:39:10.300798 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 10:39:10.357433 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 10:39:20.073194 IP firewall.xxxx.at.openvpn > 80.249.000.000.58665: UDP, length 53 10:39:20.129962 IP 80.249.000.000.58665 > firewall.xxxx.at.openvpn: UDP, length 53 ^C 6 packets captured 7 packets received by filter 0 packets dropped by kernel

Offensichtlich verwendet es nicht localtime für jede Zeile und fragt beim Start einmal den Offset ab und rechnet dann selber weiter.

2020-03-28

Waage

Meine Personenwaage funktioniert seit ein paar Tagen nicht mehr. Sie zeigt erratische Werte and und schaltet sich nach kurzem ganz ab.

Ich dachte erst, die Batterien wären zu schwach, aber das wars nicht.

Eines der Gummifusserln ist abgebrochen und die Kraftmesser sitzen offenbar über den Fusserln. Wenn nicht alle 4 vier konsistente Werte liefern, verweigert die Waage die Anzeige.

Mit Tixo festgeklebt, funktioniert wieder.