Go Debugging, Profiling, and Optimization Brad Fitzpatrick YAPC::Asia Tokyo, 2015-08-22 bradfitz@golang.org, @bradfitz See speaker notes.
概要 k0kubun/ppという、pretty printライブラリを作った。 任意の型のオブジェクトをpp.Print()に渡すと色つきでpretty printしてくれるという非常にシンプルなもの。 作った背景 fmt.Printf("%#v", ...)等ではわかりづらい複雑なmapやstructをdebug printするときは、pretty printを使うと便利。既存のpretty printライブラリには、GitHubで人気なものだとdavecgh/go-spewやkr/prettyなどがある。 いままではGoでデバッグのために複雑な構造をダンプするときこれらを使っていたのだが、必要以上に型の情報が書かれていたり、大きなものだと白黒なのでパッと見てわかりづらいなどの問題があった。 そこで、型やフィールドごとに別の色をつけることで視認性を高め、ビルトインの型情報は色にまかせて省
デバッグにはGUIを使ってもよい派なので、liteIDEとかIntellijを使うほうが幸せになりそうですが、Goのコンソールデバッグするために、gdbをコンソールでちょっと使いやすくしたcgdbと、gdbのTUIモードを試してみました。 なお、Goでこれらを利用するにはまずgdbを最新のものにする必要があります。詳細は以前の記事「MacでGoのデバッグ環境を構築する」を参照してください。 cgdb cgdbの構成は2ペイン表示になっており、上がコードで下がgdbコンソールになっています。 2つのペインの往き来はvi風に行います。上のコードモードにはESCで入ります。gdbコンソールに戻るにはiを押します。 上のコードモードではスペースキーで現在行にブレークポイントを張れたりします (Solarizedを使っているせいで現在行がすごくわかりづらいです)。 なお、tの一回だけ止まるブレークポ
(EDIT: Just a little plug: See also my course on linux commandline productivity techniques: http://www.udemy.com/command-line-productivity ) Here I quickly go through how to use CGDB to debug a Go program in an easier way than with the GDB debugger directly, since it continuously shows the code context. I cover the basic GDB commands on how to navigate the code, set breakpoints, step line-by-line
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く