0
Ubuntu 16.04で単純な "hello world" C++プログラムをデバッグしようとしていますが、gdbが実行可能ファイル形式を認識できません。ただし、コマンドラインで実行可能ファイルを正常に実行することができます。 は、ここで私は、デバッグに実行形式でないgdbエラー:ファイル形式が認識されない
g++ -g TestProject.cpp -o hello
次にコマンドを使用してTestProject.cppプログラムファイルをコンパイル
#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
コードですが、私は
gdb ./hello
は、私がgetコマンドに次のエラーを与えますメッセージ
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
"/home/<home>/./hello": not in executable format: File format not recognized
Ubuntuマシンで何かが壊れているようです。私は別のUbuntu 16.04仮想マシンで同じプログラムをデバッグすることができるからです。
Ubuntuマシンで何かが壊れているようです。私は別のUbuntu 16.04仮想マシンで同じプログラムをデバッグすることができるからです。 –
'ファイル。/ hello'は何を与えるのですか? –
'このGDBは" i686-linux-gnu "と設定されていました。おそらく、32ビット構成のgdbで64ビット実行ファイルをデバッグしようとしています。 'g ++ -m32 -g TestProject.cpp -o hello'を実行するか、64ビット構成のgdbをインストールしてください。 – ks1322