私はdebianで実行したいプログラムがありますが、起動するとセグメント化エラーが発生します。以前はdebianで動作していました。 実行可能なコマンドがあり、問題の内容を確認できますか?何が必要なlibs、それがまったく有効な実行可能ファイルなのか?linuxのアプリケーションファイルに関する情報を見つける
1
A
答えて
0
strace
またはgdb
。 Straceはシステムコールのトレースを出力します。gdb program
はクラッシュ後にbt
と入力してスタックトレースを表示します。開始タイプ
whereis programname
について
6
実行可能ファイルの場所、その文書、および(おそらく)システム上のソースコードを取得します。
file `which programname`
と入力して、有効な実行可能ファイルであるかどうかを確認してください。
/lib/ld-linux.so.* --list `which programname`
を入力して、プログラムの実行に必要な共有ライブラリを表示します。
最後に、タイプ
ulimit -c unlimited
programname
gdb `which programname` core
where
q
はクラッシュの正確な位置を取得します。
例:
$ whereis perl
perl: /usr/bin/perl /usr/bin/X11/perl /usr/share/man/man1/perl.1.gz
$ file `which perl`
/usr/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), stripped
$ /lib/ld-linux.so.* --list `which perl`
linux-gate.so.1 => (0xffffe000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb7f56000)
libdl.so.2 => /lib/libdl.so.2 (0xb7f51000)
libm.so.6 => /lib/libm.so.6 (0xb7f28000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7ef1000)
libutil.so.1 => /lib/libutil.so.1 (0xb7eec000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7ed2000)
libc.so.6 => /lib/libc.so.6 (0xb7d76000)
/lib/ld-linux.so.2 (0xb7f92000)
$ ulimit -c unlimited
$ perl
^\Quit (core dumped)
$ gdb `which perl` core
GNU gdb (GDB; openSUSE 11.1) 6.8.50.20081120-cvs
Copyright (C) 2008 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 "i586-suse-linux".
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>...
(no debugging symbols found)
Core was generated by `perl'.
Program terminated with signal 3, Quit.
#0 0xffffe430 in __kernel_vsyscall()
(gdb) where
#0 0xffffe430 in __kernel_vsyscall()
#1 0xb7fd2b93 in __read_nocancel() from /lib/libpthread.so.0
#2 0x081bcb9b in PerlIOUnix_read()
#3 0x081be025 in PerlIOBuf_fill()
#4 0x081bc402 in PerlIOBase_read()
#5 0x081bc571 in PerlIO_getc()
#6 0x0812121e in Perl_sv_gets()
#7 0x081f11e1 in Perl_filter_read()
#8 0x081f15e3 in ??()
#9 0x081facc9 in Perl_yylex()
#10 0x08210674 in Perl_yyparse()
#11 0x080d844f in ??()
#12 0x080dc372 in perl_parse()
#13 0x08063ff8 in main()
(gdb) quit
例:
関連する問題
- 1. 与えられたコミットのタグ情報を見つける
- 2. 集約グループの列情報を見つける方法
- 3. linux:ポストグルアイドルプロセスオリジネーターを見つける
- 4. QRコードでタイミング情報を見つける方法は?
- 5. Linuxカーネルソースツリーの関数定義を再帰的に見つける
- 6. Linuxのプロセスに関する情報の取得
- 7. Linuxシステム上のファイルに関する情報?
- 8. Linuxの正規表現を使用してファイル内の情報を見つける方法
- 9. 私のファンページに関するオープングラフの情報が見つかりますか?
- 10. CrossPlatformに関する情報
- 11. video.MultimediaFileWriterに関する情報
- 12. SQLに関する情報
- 13. enyoコントロールの書式設定に関する情報を見つけようとしています
- 14. grepを使ってxmlタグ内の情報を見つける方法は?
- 15. snmpwalkまたは別の方法を使ってlldp情報を見つける
- 16. Javaの.aac(m4a)ファイル形式のID3タグ情報を見つける
- 17. flickrのファームIDと他の写真情報を見つける方法
- 18. ツリーデータ構造内の情報を見つける最速の方法。
- 19. com.google.plus.platformのプロバイダ情報を見つけることができません
- 20. LinuxでROMメモリの種類とサイズに関する情報を取得
- 21. ブラックベリーのNeighboringCell情報(ネットワーク情報に関連する情報)を取得する方法
- 22. アセンブリに関する情報を取得
- 23. 追加情報をASP.NET MVCメンバーシップに関連付ける
- 24. 追加情報を.NET Enumに関連付ける
- 25. svnのチェックアウトディレクトリに関する情報
- 26. botocore.exceptions.NoCredentialsError:資格情報を見つけることができません
- 27. Linux Cプログラミング:デバイスのパーティション情報を取得するには?
- 28. セキュリティ情報に関する問題メッセージポップアップボックス
- 29. セッターとゲッターに関する情報
- 30. Solrコアシャードに関する情報