• 締切済み

Cygwin+GDBでターミナルの設定?

Linux系ではないのですが、こちらには詳しい方がいらっしゃると思いますので、ここで質問させてください。 Cygwin環境でgdbを走らせてデバッグしようとしているのですが、gdb上ではTABキーによるコマンド補完や、↑キーによるコマンド履歴呼び出しができずに困っています。 bashを起動した状態のときは、bash上ではコマンド補完や履歴呼び出しはできています。 そこからgdbを起動すると補完や履歴呼び出しはできなくなります。 これは、ターミナルの設定の問題ですか?それともgdbの設定の問題ですか? 「・・・できなくなる」と書いてますが、全く利いていないわけではないようです。 gdb上で、↑キーを押すとその時点ではカーソルが上に移動するだけです。さらにもう一度↑キーを押してから(もちろん更にカーソルがもう一行上に移動する)ENTERを押すと、2つ前に入力したコマンドが実行されます。 また、同じくgdb上で、「d」とタイプしてからTABキーを2回押すと、カーソルがタブスペースの分だけ右へ2回移動するだけですが、ENTERを押すと「d」から始まるコマンドの一覧が出ます。 どうやら、ENTERを押すまではキー操作がgdbに伝わっておらず、ENTERと同時にgdbに渡されているようです。 それから、CTRL+Cで実行中のプログラムが停止しません。しばらくだんまりになったあと、gdb自体が終了します。これも、どうにかして、CTRL+Cで止まるようにしたいです。 関係ないかもしれませんが、bashのバージョンは4.1.10、gdbのバージョンは7.2です。 よろしくお願いします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

・使っている端末(minttyとかTeratermとかemacsのshellモードとか) ・環境変数TERMの値 はどうなってますか? 少なくとも、手許のCygwinではカーソルで履歴参照できます。

haniriito
質問者

お礼

コメントありがとうございます。 >使っている端末(minttyとかTeratermとかemacsのshellモードとか) 端末はminttyでした。 >環境変数TERMの値 TERM自体はxtermになっていました。 minttyでは、ほかの端末タイプも選択できるようなので、xterm-vt220/vt100/vt220のいずれも試してみましたが、状況は変わらずです。 >少なくとも、手許のCygwinではカーソルで履歴参照できます。 そうですね、Cygwinの・・というよりは、bash上ではカーソルキーで問題なく履歴が表示されます。tabキーの補完も問題ないです。 gdbに入ると、質問のような状態になります。 ちなみに、古い環境では問題なくカーソルもtabも利いていたので、確認してみると、新しいcygwinでは端末が全然違うようです。 現在はminttyを使うようですが、以前はコマンドプロンプト自体がターミナルになっている(?)ような感じでした。TERM変数も"cygwin"となっていました。使っているgdb自体は同じバージョンのものです。 思い付きで、コマンドプロンプトから直接gdbを起動してみました。すると、ちゃんとカーソルで履歴が出て、tabキーで補完ができます。 端末がminttyに替わったことによる影響だと思うのですが、 何か設定を変えることで使えるようになるのでしょうか?それともmintty自体の不具合でしょうか・・・。

関連するQ&A

  • [cygwin]ファイル名の補完が効かないファイル

    よろしくお願いします。 windows7 professional edition (64bit)上で、cygwinを利用しています。 cygwinのシェルはtcshです。 ========================================================================= cygwinやlinuxの端末で、Tabキーによるファイル名やパスの補完(?: 入力省略)を よく利用するのですが、時々Tabキーによる補完が効かないファイルがあります。 実行ファイル(.exe)の名前の後にアスタリスク(*)が付いているファイルです。 http://www.seta.media.ryukoku.ac.jp/manual/ubuntu/faq/faq.html 上記のサイトによると、プログラムソースをコンパイルして作成した実行ファイルのことだと 書いてありますが、Tabキーの補完が効かないファイルもおそらくこの類だと思われます。 何とかしてこのような実行ファイルでもTabキーによる補完が効くように設定できないものでしょうか。 ============================================================================= 何か情報お持ちでしたらお願い致します。

  • VBAのフォーム カーソル移動

    VBAのフォームでテキストボックス(1)~テキストボックス(5) まで作ったとします。 カーソルの移動はtabindexの値を順番につければいいのですが、例えばENTERキーとTABキーを両方押したときは カーソルが一つ飛ぶ制御をしたいのですがどうすればいいでしょうか? つまり カーソルがテキストボックス(1)にいる状態でENTERキーとTABキーを同時に押せばカーソルがテキストボックス(3)に移動するようにしたいのですが、お願いします

  • TeraTermで操作する際の設定について

    基本的な質問で恐縮です。 SunOS 10にTeraTermで接続し、TAB入力補完や矢印キーによるコマンド履歴を使えるようにするにはどのようにすれば良いのでしょう? 現状はコマンドラインでTAB入力するとそのままTABになってしまい、矢印キーを使うと「[[A[[B」といった形で入力されます。 ちなみにTeraTermはV4.62です。 よろしくお願いします。

  • vxEditorのキー割り当て専用のコマンドを増やしたい

    vxEditorのキー割り当て専用のコマンドを増やしたい vxEditorでキー割り当てに既定以外のコマンドを増やすことができますか。 たとえば[Ctrl]+[→]でカーソルを行末に移動、 [Ctrl]+[←]でカーソルを行頭に移動など。 教えてください。よろしくお願いします。

  • Tabキー補完や↑キーのヒストリーを使いたい。

    Linux等では、Tabキーを押すことにより、パス名やファイル名の補完ができ、↑キーを押すとコマンドの履歴が表示されるのですが、Sorarisでも同様のことはできないのでしょうか? できる場合、その方法を教えて頂けないでしょうか?

  • VBでEnterを押すとTabで飛ぶ様にする

    お世話になります。 VB初心者です。VBでフォームを作り、TEXTBOXを複数作ると、Tabキーでタブストップの順番にカーソルが移動しますが、Enterを押すとカーソルが移動するようにするのはどうしたら良いのでしょうか? 宜しくお願いします。

  • エクセル2010のTABキー設定を変えたい

    エクセル2010を使っています。 TABキーの設定が変えられるか知りたく質問します。 数か月前まではエクセル2003を使っていて、 全角数字入力→TABキー→右のセルに移動 をよく使っていました。 しかし、エクセル2010だと 全角数字入力→エンター→TABキー→右のセルに移動 と、エンターを押さないといけなくなってしまいました。 エクセル2003のようにTABキーを設定しなおすことはできるのでしょうか。 どなたか詳しい方がいましたら、ぜひとも教えていただけませんか。 よろしくお願い致します。

  • 【Linux】シェルの実行方法を教えて下さい。

    【Linux】シェルの実行方法を教えて下さい。 ファイルの中身が#!/bin/bashで始まる拡張子shのシェルがあります。 これを実行するには、どのようなコマンドを打てばよいのでしょうか? 1.rootでログイン。 2.test.shがあるフォルダに、cdで移動する。 3.test.shと入力し、Enterキーを押す。 ↑みたいな感じで良いのでしょうか。 テスト用サーバなので、最悪壊しても良いと上司に言われましたが、 なにぶん時間がないため質問させていただきました。 Redhatでバージョンが3か4だったと思います。 よろしくお願いします。

  • ファイルメーカーのスクリプト実行で

    みなさん教えて下さい。 ファイルメーカーのスクリプトを実行するのに、マウスのクリックではなく、Enterキーを使いたいのです。 マウスは使わない方向で色々考えていまして、Tabキーで移動させEnterでスクリプトを実行させたいのです。 方法はありますか?

  • zshのtab補完について

    よろしくお願いします。 つい最近、tcshからzshに乗り換えて、設定をいろいろいじっているのですが、 Tabキーによる補完の動作で、デフォルト(?)だと使いづらいものがあり、 なんとかしたいのですが、設定方法がわからず困っています。 ご助言をお願い致します。 変更したいのは以下の2点の動作です。 ========================================================= (1) "./"に続く補完で、実行権限なしのファイルも補完候補にしたい。 ========================================================= > ls -l -rwxrwxrwx+ 1 username main.sh -rw-r--r--+ 1 username main2.sh > ./ma(ここでTabキー) 上記のようにtabキーを押すと、補完候補には実行権限のあるmain.shしか表示されず、 実行権限なしのmain2.shが候補になりません。 > chmod a+x main2.sh のように実行権限を付け直ければいいのですが、何度もやるのはさすがに面倒なので、 実行権限なしのファイルも補完候補になるようにzshで設定したいのです。 =============================================== (2) $PATHにある実行ファイルを補完候補にしない。 =============================================== > ls main.sh > sh ma(ここでTabキー) mac2unix make.exe makejvf manlint ......... main.sh ...... make makeinfo.exe ... 上記のように、例えばshコマンドに続く補完候補には、 当然のようにカレントディレクトリ内のファイルが来ると思っていたのですが、 $PATHにあるようなコマンドまで補完候補になってしまいます。 これはコマンドごとに補完候補を除外するしかないのでしょうか? 以上2点が困っている点なのですが、解決方法かもしくはヒントでも結構ですので、 ご教授お願いします。 --------------------------------------------------------------- (私の.zshrcに設定してある内容で、補完に関する項目は以下の内容です。) autoload -U compinit; compinit -u setopt list_packed compdef _files zsh "*.zsh" zstyle ':completion:*:vim:*' ignored-patterns '*?.o' '*?~' ---------------------------------------------------------------