日報 2025.08.17
🫀エリート9/9連休🫀。もうおわりや。
エリート飯。

起きて即昨日の続き、LLDBやりましたが結果から言うと大成功。
ありがとうLLDB、一番好きなデバッガーです!
途中でメモるの忘れたけど覚えてる限りでの対処方法など。
まず最低限のlldb-serverでのサーバー実行コマンドだと接続時に「IPの記述が間違ってる」系のエラーが出たのでそもそものlldb-serverの使い方をAIに聞く。
なるへそね。

これにしたらいけた。
sudo lldb-server platform --listen "*:1234" --server ./実行ファイル
問題無くデバッグ実行までいけたけど今度はいつもの電光表札プログラムでエラーが出たので諸々修正。64bit化したOSによるものがメインでした。
あとはpigpioの初期化でエラーなど。なぜ?
Failed to gpioInitialise
これもAIに聞きましょう。なるへそね。忘れてた。てっきりpigpioサービスを有効にしなあかんものやと思って有効にしてしまってた。
C++でpigpioのgpioInitialiseが失敗する原因として主に以下のケースが考えられます。
- pigpiod(pigpioのデーモン)が起動している状態で、直接pigpioライブラリを使ってgpioInitialiseを呼ぶと競合して失敗する。C言語やC++でpigpio.hを使って直接操作する場合はpigpiodデーモンを停止する必要があります。
sudo systemctl stop pigpiod.service
でデーモン停止してあとに再実行…。
うおお…!!!! イッたイッたイッた…。

GDBだとデバッグ実行中に新規でブレークポイントを貼ってもブレークしなかったんですがLLDBだとこれが途中から貼ってもちゃんとブレークする。当たり前やけど最高やんけ。GDBいらんやん。
でもこのへんはGDBじゃなくてVSCodeの不具合な気もする。
VSCodeでLLDBを使う上でCodeLLDBという拡張機能を入れる必要があったけどもしかしたらこいつが優秀なだけかもしれん。
今度こそメンテナンスフリーで長期運用耐えてほしいので、ラズパイをROM化してmicroSDのファイルシステム損傷を防ぐやつやってみる。
そもそも電源切ったりしない前提なのでほぼ運用時による効果は無いかも。
ということで長期戦を経て無事に再稼働を果たしました。これで明日まで耐えてくれるといいんですが。今夜が山田。

エリート飯。丸美屋の麻婆豆腐から錬成された本格謎中華。
もう丸美屋の麻婆豆腐に戻れない体になってる。


明日どうやって休むか考えながら床につきましょう。
おわい