見出し画像

[BGA Studio] デバッグ方法・サーバ編

前回がクライアント側のデバッグ方法だったので、今回はサーバ側のデバッグ方法について述べていきます。

そうそう、BGA版のイラストリーでチュートリアルを表示するために作ったモジュールを切り出して公開しました。よろしければご利用ください。
modulesフォルダ内にjsファイルを入れてcssの中身は[ゲーム名].cssにコピペしつつ、[ゲーム名].jsに以下のように記述して、読み込ませれば使えるようになります。

...
define([
 "dojo", "dojo/_base/declare",
 "ebg/core/gamegui",
 ...
 g_gamethemeurl + "modules/Instructor.js"
], function(dojo, declare, sniff) {
 ...

データベースのデバッグ

テーブル定義はdbmodel.sqlで定義していますが、構文エラーがあると、ブラウザでゲームをデバッグ起動したときにエラーメッセージが表示されます。これに限らず構文エラーは、BGA Studioのプロジェクトページにあるプロジェクトチェック(Check Project)機能を使うことで確認できます。

画像1

ゲームをデバッグ起動しようとしてエラーが出たり、いつまで経っても起動が終わらないような状態になったら、試しにプロジェクトチェックを実行してみるのをお勧めします。

プレー中の状態は全てDBに保存いる必要があります。デバッグ起動では、ゲーム画面の下にGo to game databaseというボタンがあり、ここからMySQL DBへのアクセスページへ飛ぶことができます。DBは公開されていないため、MySQL Workbenchなどでアクセスすることはできません。

画像3

DBへのログインは、開発者登録をした時に教えられたMySQL DB専用アカウントで行うことができます。(デバッグ用アカウントとは異なります)
また、BGA request & SQL logsでジャンプした先のページでは、サーバが発行したMySQLクエリのログを確認することができます。

サーバプログラムのデバッグ

サーバプログラムはPHPで記述していますが、PHPのprint関数ではログを残すことができません。[ゲーム名].game.phpでは、warnやerror関数を使うことで、ゲームのログを残すことができるので、サーバコードのデバッグにてこずっている時は、これを使って確認するのがお勧めです。

画像2

先ほどのボタンの内、BGA request & SQL logsのボタンでジャンプした先のページでログを閲覧できます。SQLクエリのログが混在しているため、ややわかりにくいかもしれません。

まとめ

以上、一通りのデバッグ方法をまとめてみました。コードの更新のために毎回FTPアップロードが必要になるので、デバッグはとても手間ですが、BGA Studioでは地道にやるしかないです。

いいなと思ったら応援しよう!