以前に質問があり、ddd ニュースグループでバグ レポートを見ましたが、提案された解決策はどれもうまくいきません。
表示されますが、ファイルを開くなどのことをしようとすると、「GDB の準備が整うまで待機しています」というメッセージが表示されてハングします。
他の人からも報告されている重要な事実は、一部のユーザーでは正常に機能し、他のユーザーでは機能しないということです. 環境を比較しましたが、大きな違いは見つかりませんでした。どんな提案でも大歓迎です。
以前に質問があり、ddd ニュースグループでバグ レポートを見ましたが、提案された解決策はどれもうまくいきません。
表示されますが、ファイルを開くなどのことをしようとすると、「GDB の準備が整うまで待機しています」というメッセージが表示されてハングします。
他の人からも報告されている重要な事実は、一部のユーザーでは正常に機能し、他のユーザーでは機能しないということです. 環境を比較しましたが、大きな違いは見つかりませんでした。どんな提案でも大歓迎です。
~/.ddd シームを削除して問題を解決します。
GDB Settings...
設定に触れなくても、ウィンドウを開くと問題が発生します。
DDD 環境をカスタマイズしている場合、構成ディレクトリ全体を~/.ddd/
毎回削除することは~/.ddd/init
できないため、構成全体を削除せずにファイルを修正する解決策を見つけました。
DDD を閉じて、テキスト エディタでファイルを開きます
~/.ddd/init
ラインを検索
set extended-prompt not set\n\
それを削除するか、
set extended-prompt \n\
DDD を保存して実行します。必要に応じて開始されます。
特に私のように gdb 設定を頻繁に変更する場合は、この作業を毎回繰り返すのは面倒なので、シェル環境で次のようにエイリアスを作成することをお勧めします。
alias fix-ddd="sed '/not set/d' -i $HOME/.ddd/init"
この最後のアプローチには、init ファイル内のバグのある設定に対して、特に介入しなくても機能するという利点があります。
cli を使用して init ファイルを修正したくない場合は、以前に提案したように init ファイルを編集する別の方法があります。何らかの理由でパネルを開いてしまった場合は、メニューでオプションGDB Settings...
を無効にしてそのままにしてください。次回の DDD の再起動まで無効になります。Edit
Save Options
完全を期すために(@hmogalが述べたように)ヒット
CTRL+d
GDB のハング中に GDB を強制終了し、再起動して DDD を使用できるようにします。残念ながら、このアプローチは適切な解決策ではありません。なぜなら、init ファイル内の GDB 構成全体が消去され、ユーザーが特別に調整した設定も消去されるからです。だから注意してください。
すべてが DDD 3.2.12でテストされています。
.ddd 内の init ファイルを削除すると、この問題も解決すると思います。.ddd フォルダー全体を削除する必要はありません。私はそれを試してみましたが、うまくいきました!
また、ボタンやグラフ表示などの ddd のデフォルト オプションを大幅に変更する場合は、init ファイルをこのフォルダの外に移動し、オプションの一部を ddd によってデフォルトで作成された init ファイルにコピーして戻すことができます。
注: init ファイルを削除した後に ddd を再起動すると、デフォルトの init ファイルが作成されます。
問題が解決しない場合は、次の回避策が役立つ場合があります。
ddd --debugger bashdb script.sh
)exit
ddd の下部ペインに入力しますこれにより、bashdb の 1 つのインスタンスが強制終了され、別の bashdb インスタンスが実行されているように見えます。この bashdb の 2 番目のインスタンスは正常に動作しているようで、bash-script ソースが最終的に上部ペインに表示され、ステップスルーとデバッグが可能になります。
Ctrl+D を使用すると、問題を修正する GDB を再起動するよう求めるダイアログ ボックスが表示されます。私の場合、この特定のフォルダー内の ~/.ddd または init ファイルを削除しても役に立ちませんでした。