このガイドでは、次の方法を教えます。
脚注:Perlのスローガンからの適応:「簡単なことは簡単で、難しいものが可能になるはずです」。
これは、シンプルで複雑なソフトウェアの問題のデバッグを成功させるための方法論とコピーN-Pasteレシピの進行中のコレクションです。いくつかのセクションは非常に完全ですが、他のセクションは後の段階で完成しますが、他のセクションは開始されていません。
私は1995年からソフトウェアを開発しており、この作業の多くはデバッグに関係していました。長年にわたり、私は問題の原因を発見するためのさまざまな効率的な方法論を開発しました。これは、それを解決するのが最も難しい段階です。問題が理解された後、通常、解決は比較的簡単です。
多くの場合、私は自分のアプローチを世界と共有することを提案する誰かに問題を抱きしめています。私はいつも一般化するのは難しすぎると言っていましたが、最近植えられた種子が発芽したように見えますので、次の文書では、この非常に難しいプロセスを緩和するためにいくつかの洞察を共有しようとします。
ボイドでのデバッグについて書くことは非常に困難であり、ユースケースを保存していないので、これを構築するのに時間がかかるので、これらのページが多くの月の作業(WIP)になることを期待してください。しかし、うまくいけば、いくつかのアイデアが遅れてあなたに伝えられることを願っています。そして、彼らはあなたの仕事やプレイプロジェクトのデバッグの負担を軽減するのに役立つでしょう。
高速デバッグ方法論
デバッグコンパイルされたプログラムgdb 、 ldd 、 nm 、 LD_LIBRARY_PATH 、 LD_PRELOAD
Pythonのデバッグ-Py py-spy 、パス、オートプリント
デバッグのためのUNIXツール- bash 、 strace 、 make 、プロンプト、 nohup
機械学習プロジェクトのデバッグ(外部)
バグ、タイプミス、または改善を提案したい場合は、問題を開いたりPRを寄せたりすることをheしないでください。
このサイトのコンテンツは、Attribution-Sharealike 4.0 Internationalの下で配布されています。
✔機械学習: ML Engineering Online Book | MLウェイ|移植
✔ガイド:デバッグの芸術
✔アプリケーション: iPyexperiments
✔ツールとチートシート: BASH | conda | git | jupyter-notebook | make | Python |テンソルボード| Unix