に対応してどのようなメモリアドレスを見つけるためにGDBを使用した私は、この基本的なプログラムがあります。機能が/デバッグ
int initfunc(int *array, int len) {
int i;
for(i=1; i <= len; i++) {
array[i] = i;
}
return 0;
}
int main(int argc, char* argv[]){
int* myarray=0;
initfunc(myarray,10);
}
まず私はGDBにおけるコマンドは、メモリアドレスメインが格納されているものを見つけるために何を把握しようとしています
また、私のエラーは4行目(array [i] = i)です。実行するために何が必要なのか把握しようとしています。私の教授がこのプログラムを書いたので、これらのポインタを使っても基本的なプログラムをコーディングするのは良い方法ではないでしょう。私はちょっとした洞察力が必要です。私は指針でそれほど偉大ではないからです。
デバッグシンボルをオンにしてコンパイルすると、gdbはそれをボックスの外に表示します。 –
@EugeneSh。 、あなたは正しい友達です。もしGDBが私にそのエラーが何であるかを教えてくれると言ったら、それは4行目だと分かっているからです。ポインタはそれを投げ捨てる理由は私の前提です。しかし、GDBが私に偽の関数のメモリアドレスを教えてくれると言っているのであれば、私は必要なものではないエラーを返す関数のメモリアドレスを知らせるので、メモリが必要です特定の機能のアドレス。 –
関数のアドレスではなく、 'array'の値(ポイントを指す)を調べたいとします。 – mch