gdb

GDBの「セクション」コマンドが期待どおりに機能しないようです。
gdb

GDBの「セクション」コマンドが期待どおりに機能しないようです。

私が理解したところ、このsectionコマンドを使用して、gdbファイルの特定の部分が特定のアドレスにロードされたことをターゲットファイルに通知できます。私の理解によれば、そのセクションのすべてのシンボルを新しいアドレスに再配置する必要があります。それ以外のポイントは何ですか? しかしそうではないようです。ダミープログラムでお見せしますa.c。 void func(void) { } int main() { } gcc -g a.c thenを使用したコンパイルgdb ./a.out (gdb) pipe info files | grep .text...

Admin

複数アプリケーションのバスエラー(コアダンプ)
gdb

複数アプリケーションのバスエラー(コアダンプ)

私のendeavourOSシステムで奇妙な動作が発生します。 文脈によると、間違ったsvgファイルがinkscapeと私のシステムにクラッシュした後に発生し始めたようです。その後、ハード再起動する必要がありました。 いくつかのアプリ(最近テストしたアプリのリスト:、、、、、flameshot)の場合、端末にメッセージが表示され、それがすべてです。インターネット検索で使用する必要があることを理解していますが、出力は理解できません。keepassxcquiterssBus error (core dumped)gdb $ gdb flameshot [...] ...

Admin

リモートシステムのGUI端末内で実行されているdist-upgradeプロンプトにEnterキーを渡します。その後、SSHを介してのみアクセスできます。
gdb

リモートシステムのGUI端末内で実行されているdist-upgradeプロンプトにEnterキーを渡します。その後、SSHを介してのみアクセスできます。

以前は、remoteRDPを介してコンピュータ(通常の物理デスクトップコンピュータ)にアクセスし、それを使用してsudo apt dist-upgradeGUIの内部を起動しましたgnome-terminal。それ以来、RDP接続が切断され、SSH [1]のみがあります。 apt コマンドに「assum yes」がないため、cat /var/log/dist-upgrade/screenlog.0SSH によるチェックで実行中のアップグレードがプロンプト [2] で停止し、ユーザーが Enter を押すか yes を選択して Enter を押す必要があること...

Admin

NetBSD - GDBでカーネルメモリに関する情報を表示するには?
gdb

NetBSD - GDBでカーネルメモリに関する情報を表示するには?

デバッグにNetBSDカーネルを使用していますがgdb、アドレスがあるメモリ領域に関する情報を表示できればと思います。私は主にメモリページの権限とここに含まれるメモリページのサイズを見つけることに興味があります(質問の後半が意味がある場合)。 カーネルにはカーネル空間メモリ領域という概念がありますか?つまり、特定の目的のために予約された(どこかで追跡される)連続ページブロック(仮想アドレス)ですか?それとも、どのメモリブロックが論理グループに属しているかを追跡することは、各特定のモジュールによって異なりますか? 私が探しているものの例は次のとおりです。 (g...

Admin

gdbでファイルを開くときに権限が拒否されました。
gdb

gdbでファイルを開くときに権限が拒否されました。

いくつかのCTF課題を実装しています。これらのフラグは、プログラムによって読み取られるいくつかのテキストファイルにあります。フラグを保護するためにファイルの所有者を変更しましたが、setuidファイルを読み取ることができるように実行可能にしました。 gdbの外部でプログラムを実行すると、動作するフラグを読み取ることができますが、gdbの内部ではPermission deniedVirtualBoxのLinux仮想マシンで練習を実行しています。 sudoersファイルにない一般ユーザーを作成し、フラグファイルはrootに属します。 -rwsr-xr-x 1 r...

Admin

module_init() で中断するには?このロード可能なカーネルモジュールはSSHログインをブロックしています。
gdb

module_init() で中断するには?このロード可能なカーネルモジュールはSSHログインをブロックしています。

Rocky Linux 9.3にUSBデバイスドライバを移植しようとしています。モジュールを挿入した後、SSHを介した新しいログインが応答しなくなります。モジュールをブラックリストに追加して再起動すると、通常の機能が復元されます。 https://github.com/izot/lon-driver モジュールが挿入されると、lsmod | grep u50 "Used By"は約7秒ごとに0から1に変わります。その後、SSHを試してみると、「トピック」は3と2の間になります。 SSH ログインを停止し、modprobe -r u50 と入力して再試行して...

Admin

gdbを使用してバイナリファイルをデバッグする方法
gdb

gdbを使用してバイナリファイルをデバッグする方法

現在、一定期間の使用後に通常ロックされるバイナリプログラムがあります。画面の右側にあるバーをクリックしてマウスの左ボタンにすばやく移動すると発生することがあります。 たとえば、次のコマンドを使用してこれらのプログラムを実行しています。 LD_LIBRARY_PATH=/arquivos/Gtk+-3.4.0/lib/:/xorg/X11-1.4.4/lib/:/xorg/Xcb-1.4/lib/:/arquivos/Dbus-1.10.2/lib gdb ./firefox その後、gdbに「run」と入力してFirefoxをロードしました。しばらく使って...

Admin

httpd が /usr/lib64/httpd/modules/mod_ssl.so の ssl_io_filter_cleanup() と競合しています。
gdb

httpd が /usr/lib64/httpd/modules/mod_ssl.so の ssl_io_filter_cleanup() と競合しています。

バージョン: httpd-2.4.54-1.el8.x86_64 タスクに対してhttpd condrestartを実行すると、コアが作成され、コアファイルpidに関連するいくつかのssl_error_logsも表示されます。 gdbログ: Core was generated by `/usr/sbin/httpd -k start'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f0b9ffa05e9 in ssl_io_filter_cleanup () ...

Admin

セットアッププログラムが他の端末で実行されているときにGDBが「制御端末を設定できません」という警告をどのように抑制できますか?
gdb

セットアッププログラムが他の端末で実行されているときにGDBが「制御端末を設定できません」という警告をどのように抑制できますか?

私はプログラムをデバッグするためにGDBを使用しており、その出力をGDBを実行している端末以外の端末に送信したいと思います。これが私がやってきたことです: 2番目の端末を開き、を使用してデバイス名を確認し、同様のものを入手しttyてください/dev/pts/14。 私のGDBセッションでは、コマンドを使用してtty /dev/pts/14出力を端末に設定しました。 次に、runGDBでコマンドを実行してプログラムを起動します。 この設定は、出力をターミナル2として正しく指定しますが、問題はターミナル2の最初の行に常に次のものが表示されることです。 war...

Admin

qemuを使用してLinuxカーネルをデバッグするためにgdbのノンストップモードを使用する方法
gdb

qemuを使用してLinuxカーネルをデバッグするためにgdbのノンストップモードを使用する方法

私はLinuxカーネルをデバッグするためにqemuとgdbを使用しています。別のスレッドが実行され続けている間に、1つのスレッドを停止したいと思います。目標を達成するのに役立つnon-stopというコマンドがgdbにあることがわかりました。 gdbのノンストップモードの詳細は次のとおりです。https://sourceware.org/gdb/current/onlinedocs/gdb.html/Non_002dStop-Mode.html 以下は、カーネルイメージを使用してqemuを実行するコマンドです。 sudo qemu-system-x86_64 ...

Admin

bzImage解凍をデバッグする方法は?
gdb

bzImage解凍をデバッグする方法は?

gdbを介してカーネルをデバッグするときにvmlinuxが必要であることはすでにわかっています。 ただし、bzImageの解凍とEFIエントリポイントをデバッグする必要があります。 この場合、gdbを使用してbzImageをデバッグする方法は? 現在はbzImageをロードしてもシンボルがなく、デバッグが難しいです。 ...

Admin

メモリリークデバッグ:分割エラー後にコアダンプにトレースバックが保存されない
gdb

メモリリークデバッグ:分割エラー後にコアダンプにトレースバックが保存されない

私は組み込みLinuxシステム(kernel-5.10.186)を開発しており、プログラムのメモリリークをデバッグしたいと思います。 を介してpmap -x PIDプロセスのヒープが増加し続けることを発見しました。 増加がどこから来るかを調べるために、カーネルmm / mmap.cに次のコードを追加しました。 --- a/kernel/kernel-5.10/mm/mmap.c +++ b/kernel/kernel-5.10/mm/mmap.c @@ -269,6 +269,12 @@ SYSCALL_DEFINE1(brk, unsigned long,...

Admin

QEMU+(K)GDBを使用したLinuxカーネルのデバッグ - いくつかの疑問と質問
gdb

QEMU+(K)GDBを使用したLinuxカーネルのデバッグ - いくつかの疑問と質問

QEMUを介してLinuxカーネル(v3.13)をデバッグしようとしています。使っていますこれ、これそしてこれ参照。私のホストはLinux Mint Victoriaなので、v3.13(2014年頃)カーネルとrootfsをコンパイルするのはあまりにも多くの問題です。 だから私は次のようにUbuntu Trust Tahrを取得するためにDockerコンテナを使用しました。 mkdir docker FROM ubuntu:14.04" > docker/Dockerfile RUN apt-get update && apt-get ...

Admin

Gdbがttyに閉じ込められました。
gdb

Gdbがttyに閉じ込められました。

Hyprlandをデバッグしようとしていますが、gdbを使用して実行すると、すべてのキーボード入力が完全に停止し、コンピュータを再起動する必要があります。 Ctrl+C または Ctrl+Alt+F[1-6] を使用してエスケープできません。完全に付いています。 この問題の原因が何であるかを知っている人はいますか?それとも、このようなことが起こったら脱出する方法を知っていますか?または、少なくともgdbserverを使用してLinuxをリモートでデバッグするときに、Linuxが他のttyに切り替えることを防ぎますか? ...

Admin

GNU gdbデバッガのソースコードをどのように編集しますか?
gdb

GNU gdbデバッガのソースコードをどのように編集しますか?

私はgccがインストールされているLinux(Ubuntu 22)システムを使用しています。私たちは、gccがデバッガとしてgdbに付属していることを知っています。 gdbには多くのコマンドがありますが、いくつかの組み込みコマンド(disp)の動作を変更したいと思います。 gccライブラリからgdbソースコードにアクセスして、希望のソースコードに変更できる場所を教えてくれる人はいますか? ...

Admin