プレイ日記
myu314 myu314
シンタックスハイライト付きのソースコードビューアです。BACKTRACEの結果をプログラム見ながら辿りたくて作りました。 P/CodeViewer v1.00 【 LDEYW3N4 】 以下長い説明
20そうだね
プレイ済み
返信[1]
親投稿
myu314 myu314
■操作方法 [スライドパッド] プログラムスクロール。L/Rで高速移動。LR同時だと端まで移動 [↑↓] カーソル移動。L/Rで高速移動。 [←→] 項目変更。L/Rでスロット切り替え。 [A] 決定・ジャンプ [B] メニュー [Y] キーボードのバックスペース。L/R 押しながらで全消去 [X] 終了 オプション画面は、十字キー上下左右で項目変更・値変更、ABXYいずれかのボタンか枠の外をタッチで終了。エラー画面はAボタンかOKボタンをタッチで閉じます。 また画面の上端をタッチすることでメニューを開くことができます。
0そうだね
プレイ済み
返信[2]
親投稿
myu314 myu314
■想定している使い方 プロジェクト内のTEST.PRGが使い方サンプルです。 スロット0に読み込んで実行するとスロット2に_DEVMENU.PRG、スロット3に PICODEV.PRG を読み込み、エラーを出して終了します。F1を押してエラー情報を取り込み、F5でビューアを起動してください。エラー箇所が表示されていると思います。下画面右上のBTraceの項目を選択することで、エラーまでの流れを辿ることができます。 こんな感じでTEST.PRGの最初にあるようなルーチン(SET_DEBUGINFO)を使って、エラー情報をクリップボードに保存してビューアを起動、エラーをたどってデバッグというのが想定している使用イメージです。
0そうだね
プレイ済み
返信[3]
親投稿
myu314 myu314
■説明1: 関数/ラベルリスト 下画面左上の一番大きな窓、表示中のスロットの関数・ラベルの一覧です。Aボタンを押すと選んでいる項目の位置へジャンプできます。上のチェックボックスなどをタッチすると表示する種類とソート方法を変更できます。FUNCが関数、LABELがラベル、LOCALが関数内のラベル、123が行番号順、ABCが名前順です。 表示方法・スロットはBボタンのメニューでも変更できます。 ■説明2: バックトレース 下画面右上の縦長の窓、BACKTRACEの結果を表示します……が、手動でクリップボードにデバッグ情報を設定する必要があります。書式は必要な情報をカンマ区切りで並べただけです。 DBG:エラー番号,エラースロット,エラー行,[バックトレースのスロット,行数]*N という書式になっています。詳しくは TEST.PRG の SET_DEBUGINFO を見てください。
0そうだね
プレイ済み
返信[4]
親投稿
myu314 myu314
■説明3: キーボード 下画面左下のキーボードは関数/ラベルリスト用のフィルタ設定、行番号ジャンプに使用します。タッチ専用です。キーボードの上の「InExJp」でモード選択、その横の「ON」もしくは「GO」ボタンで有効無効切り替え・行番号ジャンプできます。 In..INclude / キーワードを含むものを表示します。 Ex..EXclude / キーワードを含むものを除外します。 Jp..JumP / 入力した行数へジャンプします。 大文字小文字は区別されるので、デバッグ用関数は頭にdをつけるなど工夫すると候補を絞りやすくなるかも。 ■説明4: 履歴 下画面右下は履歴です。最近ジャンプした項目が新しいものから表示されます。デフォルトで50件くらい保存されます。関数間を行ったり来たりする時に使います。
0そうだね
プレイ済み
返信[5]
親投稿
myu314 myu314
■説明5: _DEVMENU.PRG サンプルを実行するとSLOT2に読み込まれ、F2で実行できます。これは個人的に使っている(これから使う)開発中用のメニュープログラムです。スーパーハカーっぽい見た目を目指してます;) 「デバッグルーチンをコメントアウト・アンコメント」など、製作時にだけ使うツール(それもプロジェクト毎に変わるようなやつ)を関数にしてしたため手軽に実行するために使います。 以前公開したルーチンの使用例として…またはメッセージの消え方が気に入ったので入れました:) あと画面写真に使ってるフォントはこれで設定できます。
0そうだね
プレイ済み
返信[6]
親投稿
myu314 myu314
説明はこんな感じです。 当初はUSEでプログラムだけ読み込んでおいて、エラーで止まったらGOTO "3:@PICODEV"とかやってビューア起動…って設計だったけど、ほぼ完成してからダイレクトモード扱いでDISPLAYコマンドが使えない(2画面できない)のをエラーメッセージで知り、クリップボード経由でデバッグ情報を渡す仕様となりました;) なるべくメモリを喰わないようその場でちまちまスロットから読み込んでるのはその最初の設計のためなのですが、そのせいで行数にしたがって上方向へのスクロールが遅くなります。PRGEDITって旧3DSで1万行あたりだと150msくらいかかる……毎回先頭からサーチしてるのかなぁ?
0そうだね
プレイ済み