1

古い fortran コードをデバッグしているときに、 https://github.com/gdbinit/Gdbinitの gdbinit ファイルを使用しようとしています。gdbinit ファイルを含めない場合、GDB ではすべて正常に動作します。ただし、ファイルを含めると、次のエラーが発生します。

Error while running hook_stop:
A syntax error in expression, near `= 1'.

ファイル内を掘り下げていくつかのコメントを使用した後、問題は次のコードの if ステートメントにあると思います。

# ____________________misc____________________
define hook-stop
# Display instructions formats
    if $ARM == 1
        if $ARMOPCODES == 1
            set arm show-opcode-bytes 1
        else
            set arm show-opcode-bytes 1
        end
    else
        if $X86FLAVOR == 0
            set disassembly-flavor intel
        else
            set disassembly-flavor att
        end
    end

    # this makes 'context' be called at every BP/step
    if ($SHOW_CONTEXT > 0)
        printf "%i", $SHOW_CONTEXT
        context
    end
    if ($SHOW_NEST_INSN > 0)
        set $x = $_nest
        while ($x > 0)
            printf "\t"
            set $x = $x - 1
        end
    end
end
document hook-stop
!!! FOR INTERNAL USE ONLY - DO NOT CALL !!!
end

if ステートメントが問題であることを私が知っている理由は、コードを編集すると次のようになるためです。

# ____________________misc____________________
define hook-stop
# Display instructions formats
#    if $ARM == 1
#        if $ARMOPCODES == 1
#            set arm show-opcode-bytes 1
#        else
#            set arm show-opcode-bytes 1
#        end
#    else
#        if $X86FLAVOR == 0
#            set disassembly-flavor intel
#        else
#            set disassembly-flavor att
#        end
#    end

    # this makes 'context' be called at every BP/step
    if ($SHOW_CONTEXT > 0)
        printf "%i", $SHOW_CONTEXT
        context
    end
    if ($SHOW_NEST_INSN > 0)
        set $x = $_nest
        while ($x > 0)
            printf "\t"
            set $x = $x - 1
        end
    end
end
document hook-stop
!!! FOR INTERNAL USE ONLY - DO NOT CALL !!!
end

エラーは次のようになります: hook_stop 実行中のエラー '> 0' 付近の式の構文エラー。

誰が何が起こっているのか知っていますか?gdbinit ファイルの読み取り方法や適切な構文がよくわかりません。

価値があるのは、Mac OSX 10.9.3 で gdb 7.7.1 を実行していることです。

また、gi リポジトリにバグ レポートを提出しましたが、ここでより迅速な回答が得られる可能性があると考えました。

ご協力いただきありがとうございます!

アンドリュー

4

1 に答える 1

0

このコードは、$ARM などのさまざまな便利な変数を参照していますが、それらがどのように定義されているか、またはどのように定義されているかは示されていません。だから、それは私が最初に見る場所です。

于 2014-07-17T00:57:23.170 に答える