デバッガの「メソッド処理結果リスト」について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 デバッガの「メソッド処理結果リスト」について

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • 著者
    投稿
  • #6999
    TENTEN
    一般参加者

    お世話になります。
    デバッガについて確認させてください。

    添付ファイルは文字列変数に固定値(“文字列1” “文字列2” “文字列3”)を設定するだけのものですが、デバッガで実行させても「メソッド処理結果リスト」の結果が NULL です。

    当方としては設定した文字列(“文字列1~3”)が表示されるのを期待しているのですが、「文字列を設定する」メソッドの戻り値は常にNULLだからこうなのでしょうか。(コンポーネントリファレンスには戻り値についての記載がありませんでした)

    いわゆるWATCHリスト的な機能が欲しいのですが、あれば教えてください。

    #7001
    TENTEN
    一般参加者

    数日デバッガを操作してみて仕様が理解でき、同時に釈然としないものが何かかが見えてきました。

    (1) ブレークさせたときの「イベント番号」が見えないので、どのイベントが起きたのかがわかりません。
    (2) たとえば「テーブル」コンポーネントの「データ設定」イベントでブレークさせたとき、どう設定されたかを確認する手段がありません。
    (3) ステップイン等で「テーブル」コンポーネントの「テーブルデータを設定する」メソッドを呼び出したとき、正しく設定されたかを確認する手段がありません。

    (2)(3)はいわゆるWATCHリストの実装が必要かと思います。
    次版での検討事項にしていただければ幸いです。

    #7002
    MZPlatformユーザー会
    サイト管理者

    貴重なご意見をありがとうございます。

    メソッド処理結果リストに関しましては、『デバッガ操作説明書』P20にある通り、戻り値が無いものは「NULL]と表示されます。基本的に「設定する」メソッドは戻り値が無いものがほとんどです。

    (1) メソッドコールスタックパネルではデバッグ中のメソッド名が表示されイベント番号もコンポーネント名と共に表示されています。
    一方メソッド処理結果リストパネルでは現在のイベントのメソッド処理の結果が表示され、イベント番号は付いていません。

    (2)引数と属性パネルの特に引数をクリックすると、例えば「テーブルデータを設定する(PFObjectTable)」にどんなデータが設定されたか確認することができます。また、デバッグ開始前に右端のメソッド展開ボタンを押していただくと、「取得方法:メソッド戻り値」で設定した引数の取得元コンポーネントとメソッドを表示することができます。ただし、他の取得方法の場合は表示されません。

    (3)デバッグ中にエラーが発生した場合、エラー発生個所の処理で矢印表示が止まるようになっています。
    エラーが発生しないものは、矢印表示がコンポーネント中央にあるときに引数と属性パネルの引数を確認し、矢印表示がコンポーネント下側に移動したら処理が行われたということになります。

    MZPlatformのデバッガーは処理をブレークポイントで止めて、確認するという目的で作られております。どちらかというと、メソッドコールスタックパネルに注目して処理の流れを追っていただくことになるのかと思います。

    他にメソッド処理の確認としましては、接続元コンポーネントを右クリック>[メソッド起動位置検索]で、そのコンポーネントのメソッドが呼び出されている位置を確認することができます。

    今後もより判りやすくMZPlatformを使っていただけるよう検討いたします。
    ご連絡ありがとうございます。

    #7003
    TENTEN
    一般参加者

    ご回答ありがとうございました。

    (1)
    大変失礼しました。 メソッドコールスタックは完全に見落としていました。
    赤字で表示されているのに、言われるまで気が付かないとは恥ずかしい限りです。

    (3)
    書き方が悪く申し訳ありません。
    結果が意図した通りになっているかどうかを確認したいのです。
    テーブルだと画面に表示させなくても、何かの操作でビューできる的なものがあれば重宝するのでは考えています。
    今後に期待し閉めさせていただきます。 ありがとうございました。

4 件の投稿を閲覧中 - 1 ~ 4 件(全 4 件)
  • このトピックに返信するには、ログインしてください。