gdbが実行可能なファイル形式でない ファイル形式が認識できない
2022-02-12 23:18:54
3.4 実行可能ファイルのデバッグ
もし <サンプ 地獄 が複雑なプログラムだった場合、システムにインストールする前にテストとデバッグを行いたいと思うのは間違いないでしょう。上の節で、libtool のラッパースクリプトがプログラムを直接実行することを可能にするのを見たが、残念ながら、このメカニズムはデバッガを妨害する。
burger$
gdb地獄 GDBはフリーソフトウェアであり、そのコピーを配布することができます。 と入力すると、その条件が表示されます。 GDB には保証がありません。詳細は "show warranty" とタイプしてください。 GDB 4.16 (i386-unknown-netbsd), (C) 1996 Free Software Foundation, Inc. "shell": 実行可能な形式ではありません。ファイル形式が認識されない (gdb) やめるburger$
悲しいね。GDBは実行ファイルがどこにあるか知らないからうまくいかない。実行ファイルに直接
burger$
gdb .libs/hellGNU gdb 5.3 (i386-unknown-netbsd) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it Type "show copying" to see the conditions. There is no warranty for GDB. Type "show warranty" for details. (gdb)
ブレークメインBreakpoint 1 at 0x8048547: file main.c, line 29. (gdb)
実行Starting program: /home/src/libtool/demo/.libs/hell /home/src/libtool/demo/.libs/hell: can't load library 'libhello.so.0' Program exited with code 020. (gdb)
終了burger$
アーッ。GDB が文句を言う。 地獄 そこで、libtoolを使ってライブラリのパスを適切に設定し、デバッガを実行する必要があります。 <サンプ .libs ディレクトリに移動し、実行ファイルラッパーで実行するだけです ( 実行モード ):
burger$
libtool --mode=execute gdb hellGNU gdb 5.3 (i386-unknown-netbsd) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it Type "show copying" to see the conditions. There is no warranty for GDB. Type "show warranty" for details. (gdb)
ブレークメインBreakpoint 1 at 0x8048547: file main.c, line 29. (gdb)
実行Starting program: /home/src/libtool/demo/.libs/hell Breakpoint 1, main (argc=1, argv=0xbffffc40) at main.c:29 29 printf ("Welcome to GNU Hell!\n"); (gdb)
終了The program is running. quit anyway (and kill it)? (y or n)
yburger$
関連
-
スクリプトが ssh を呼び出した後、stdin がターミナルでないため、疑似ターミナルが割り当てられない
-
Makefile:9: *** セパレータがありません。
-
[Linux] [コンパイル] libmpc.so.3: cannot open shared object file: そのようなファイルまたはディレクトリはありません
-
linuxのインストールファイルでは、configure: error: no acceptable C compiler found in $PATH errorが表示されます。
-
変数 "xxx" はイニシャライザを持ちますが、型は不完全です。
-
警告: 組み込み関数 'exit' の非互換な暗黙の宣言
-
centos 7.2 make: *** `default' が必要とする `build' をターゲットとするルールがありません。停止します。
-
makefileを参照してください。2: セパレータがありません。
-
テキストファイルがビジー状態になる問題を解決
-
cp: 通常のファイル `/usr/local/bin/orange' を作成できません。テキストファイルがビジー状態
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
undefinedlinuxでは127.0.0.1、 : では0.0.0.0です。
-
Linuxの一般的なコマンドを史上最も完璧にまとめた本(超充実! (超詳しい!)これだけ集めれば十分!?
-
を作ってください。*** ターゲット `menuconfig' を作成するためのルールがありません。 停止.問題解決-Linux (3)
-
PackagesNotFoundError: 以下のパッケージは、現在のチャネルから利用できません。
-
セキュアネットワーク(sshポートマッピング) -----図の詳細を使用することができます。
-
Linuxでビジー状態のテキストファイルでプログラムを実行する場合の対処法
-
Linuxでよくあるパーミッション関連のエラーとその解決法
-
pow関数に対する解決策 gcc compile prompt undefined reference to `power'
-
centos - centos7でcrontabを使用してmysqlのスケジュールバックアップを行う。
-
Ansibleの通常ユーザーsudoがコマンドを実行します。