酔漢電子工作手帳

2007-02-27

書き込みに失敗している

| 08:47 | 書き込みに失敗している - 酔漢電子工作手帳 を含むブックマーク はてなブックマーク - 書き込みに失敗している - 酔漢電子工作手帳

RAM実行時にブレークポイントを張れないのはどうやらメモリ書き込みに失敗しているのが原因のようです。

デバッガ起動時にmain()で停止する場合と停止しない場合があります。停止しない場合はステップ実行もできず、ステップ実行時に下のようなエラーが出るため、やはりブレーク・ポイントの設定に失敗しているようです。

Execution is suspended because of error.
  Warning:
  Cannot insert breakpoint 2.
  Error accessing memory address 0x2c: (undocumented errno -1).
  Cannot insert breakpoint 3.
  Error accessing memory address 0xc8: (undocumented errno -1).

ターゲットは昨年のDWM基板です。作り変えた方がいいかな。

monamour555monamour5552007/02/27 12:05gdbinit が読まれないという指摘は初めてです.
心当たりが全く無いわけでもないのですが…なにかのついでに,パスに空白が含まれない場所に.gdbinitを置いてみて頂けますか?

suikansuikan2007/02/27 13:26あとで調べて見ます。print/x {cha}0xffff0220 などとして試していますが、出力が現れません。そもそも.gdbinitの出力を見る事ができるのかすら、わかっていないのが難航の理由です。

monamour555monamour5552007/02/27 14:32この辺り,完全にCDTの領域ですね.gdbの入出力用のコンソールビューは,デバッグプロセスのビューのgdbのところをクリックすると出てきます.(デバッギーの出力ビューと切り替わりながら表示されるので,慣れていてもたまにハマりかけます)
gdbの入出力用のコンソールビューでは,直接gdbのコマンドを叩けます.仮に,ここに何か打って反応があるにも関わらず.gdbinitに書いて反応がないとすると,.gdbinitが読まれていない可能性が極めて高くなります.

suikansuikan2007/02/27 15:02まさにその状態です。デバッガのツリーの内、gdbの部分をクリックしてprint/x {char}0xffff0220とやると、そのときのREMAPレジスタの内容がコンソールに出力されてきます。
で、同じコマンドを.gdbinitにコピーしているのですがコンソールには何も出てきません。ツリーのいろいろな部分をクリックしてみましたが出力された様子はありません。で、「ひょっとすると.gdbinit内部での出力はコンソールに表示されないのかも」と考えたところで昨日はタイムアップでした。今夜また試して見ます。

suikansuikan2007/02/27 23:40やはりダメです。.gdbinitを実行していないようです。さらに、mi_cmd_disassemble: Invalid filename.というエラーがgdbから出てくる様になりました。これまでdisassemble viewに表示されていたソースコードが表示されなくなりましたので、おそらくソースを読めないと言っているのでしょう。.gdbinit以外はワークスペース、プロジェクトまで全部8.3規則に乗っているのですが。
PCもOSもだいぶくたびれているので、出張から帰ったら自宅のPCで検証して改めて報告します。

monamour555monamour5552007/03/01 10:17id:monamour555:20070301 にも書きましたが,先頭に target remote localhost:3333 を書く必要があります.
(これから追跡開始しますが)target指定が無くても何故か後続のコマンドでエラーが出ないので,現状は,極めて判りづらいですね.

suikansuikan2007/03/01 12:24うわ、あれはそう言う意味ですか。今夜試してみます。

トラックバック - http://ecrafts.g.hatena.ne.jp/suikan/20070227