SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
Bhyve のデバッグサーバ機能が便利だった
2020 年 7 月 31 日
(株)創夢 内藤 祐一郎
Bhyve のデバッグサーバ機能
●
Bhyve が gdb のデバッグサーバとなる機能です
●
ゲスト OS (カーネル)のデバッグができます
●
ゲスト OS に特別な設定は不要です
●
ゲスト OS のデバッグシンボルとソースコードがあれば
ソースコードデバッグができます
使い方
●
Bhyve に -G < ポート番号 > を指定します
●
クライアント gdb から<ポート番号>に接続します
$ gdb < カーネルファイル >
(gdb) target remote :< ポート番号 >
●
カーネルファイルにデバッグシンボルがあれば OK です
●
ソースコードはクライアント側に置いたパスに変換します
(gdb) set substitute-path < ビルド時のパス > < クライアントのパス >
試したこと
●
バックトレースの表示
●
スレッド一覧(アクティブな CPU 毎に見える)
●
レジスタの表示
●
ブレークポイントの設定・表示
(ただし current / stable-12 でサポート)
●
一時停止・再開
試したこと(2)
●
変数表示
●
逆アセンブル(ソースコード付きで)
●
step 実行
(ただし、割り込みがかからないこと)
デモ
まとめ
●
カーネルデバッグが簡単にできます
●
ゲスト OS の種類は問いません
●
デバイスは pci passthrough しましょう

Contenu connexe

Plus de Yuichiro Naito

Plus de Yuichiro Naito (18)

Modern fonts
Modern fontsModern fonts
Modern fonts
 
FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
 
Iocage
IocageIocage
Iocage
 
FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!
 
How to use PTI & IBRS patch
How to use PTI & IBRS patchHow to use PTI & IBRS patch
How to use PTI & IBRS patch
 
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
 
FreeBSD Ports Flavors
FreeBSD Ports Flavors FreeBSD Ports Flavors
FreeBSD Ports Flavors
 
Bsdtw repo
Bsdtw repoBsdtw repo
Bsdtw repo
 
How to use blacklistd
How to use blacklistdHow to use blacklistd
How to use blacklistd
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with Poudriere
 
Ruby build
Ruby buildRuby build
Ruby build
 
Intel graphics
Intel graphicsIntel graphics
Intel graphics
 
Programming under capability mode
Programming under capability modeProgramming under capability mode
Programming under capability mode
 
Itamae provisioning for FreeBSD
Itamae provisioning for FreeBSDItamae provisioning for FreeBSD
Itamae provisioning for FreeBSD
 
Two iconvs
Two iconvsTwo iconvs
Two iconvs
 
FreeBSD10.2 on_mac
FreeBSD10.2 on_macFreeBSD10.2 on_mac
FreeBSD10.2 on_mac
 
FreeBSD on Mac
FreeBSD on MacFreeBSD on Mac
FreeBSD on Mac
 

Bhyve debug-server