X



あなたは正体不明のコードをどうデバッグする?
0001デフォルトの名無しさん
垢版 |
2023/11/22(水) 20:12:48.61ID:K1koM1zT
正体不明のコードをどうデバッグする?


obj.method(arg);
→ここでエラーが発生。


以下の調べ方の優先順序、調べる必要性の要不要を考えてください。

<前提条件>
・上記のコードの全てが自分にとって正体不明。
・`obj` を生成したクラスは正体不明。
ライブラリのクラスなのかプロジェクト内の開発メンバーが作成したクラスなのかも不明。
何をするためのオブジェクト,メソッドなのかも不明。
・`obj.method`を呼び出した場所のコードも正体不明。ライブラリ内なのか開発メンバーが作成したクラスなのかも不明。
メソッドの呼び出し側が何をするための箇所なのか不明。


<調べ方>
・1: 発生したエラーメッセージでググる
→期待する事: 上手く情報が見つかればすぐにエラーが解決できるかもしれない。

・2: `arg`の引数をログ出力して確認
→期待する事: エラーは引数が原因している可能性があるかもしれない。
問題解決の情報として重要と思われる。

・3: `obj`を生成したクラスは誰が作成したクラスかを調べる。

・4: `obj`を生成したクラスが何をするためのものなのか調べる。
→3の結果次第で一般作成ライブラリであるならばググる事ができる。
0002デフォルトの名無しさん
垢版 |
2023/11/22(水) 20:37:10.56ID:wBv1xBYL
ステップ実行できる環境整えてmethodにブレークポイント置いてコツコツステップ実行で進めて行く
0003デフォルトの名無しさん
垢版 |
2023/11/23(木) 10:00:34.36ID:mHKDjsht
>正体不明のコード

正体不明の実行ファイルのデバッグなら意味あるけど
コードがあるならソース観れば良いじゃん
0004デフォルトの名無しさん
垢版 |
2023/11/24(金) 12:14:46.65ID:+98g87Md
>>1
・3: `obj`を生成したクラスは誰が作成したクラスかを調べる。

これが最初だろ
なんで3番目なんだよw
運が良ければ隣にいる奴かもしれないんだぞ
0007デフォルトの名無しさん
垢版 |
2023/12/01(金) 14:40:18.47ID:a1+BJMvt
仕様書も無いなら何が正解かも分からないだろうに
レスを投稿する


ニューススポーツなんでも実況