38

現時点で、私がやっていることは、Unity私が書いたスクリプトの 1 つをダブルクリックしてMonoDevelop開いているというMonoDevelopことですRun >> Run with >> Unity Debugger

この Unity が開かれた後、Unity で再生ボタンを押すと、デバッグ セッションが開始されます。でも一度だけ。いずれかでこのセッションを停止した場合、UnityまたはMonoDevelopこの手順全体を最初からやり直さなければならず、非常に面倒です。Unity を開き、Unity を閉じる必要があります (次のステップで Unity が開き、UnityRun >> Run with >> Unity Debuggerが既に開いている場合は、一度に 1 つのプロジェクトを開くことができる Unity のインスタンスは 1 つだけであるというエラーが表示されるため、Unity を閉じる必要があります)。

私が求めているのは
、この退屈な Unity のオンとオフの切り替えから解放され、セッションのデバッグを停止するたびに、これらの退屈な繰り返しを行わずに通常どおりに開始できる、より良いワークフローはありますか?

4

22 に答える 22

33

MonoDevelop のデバッグ メニューで「アタッチ」を使用します。そのようにして、実行中の Unity プロセスにアタッチできるはずです。(Unity の設定で適切なオプションがオンになっていることを確認する必要がある場合があります)。

于 2012-06-10T22:00:19.163 に答える
6

デバッグする別の方法は、次を使用することです。

Debug.LogError("foo");

また

Debug.LogWarning("foo"); 

もう 1 つの注意点は、実際にオブジェクトをログにバインドできることです。これにより、GameObject のリストを繰り返し処理している場合に、エディターはオブジェクトが質問であることを強調表示します。すなわち:

Debug.LogWarning("this object broke", gameObject);

コンソール ウィンドウで「エラー一時停止」をオンにすると、LogError が満たされたときにゲームが自動的に一時停止します。ただし、エラーがスローされるたびに一時停止することに注意してください。

于 2013-10-08T22:31:05.460 に答える
3

最近、Microsoft が Visual Studio 用の UnityVS プラグインの作成者である SyntaxTree を買収したため、まもなく無料でリリースされる予定です。UnityVS は、その生産性と、Visual Studio での Unity3D ゲームの機能またはデバッグのために、すべての Unity3D 開発者にとって必須のプラグインです。

http://unityvs.com/

于 2014-07-14T16:30:46.273 に答える
3

Unityの「コンソール」ウィンドウについて知っていますか? メニュー/Windows/コンソールから開くことができるはずです。デバッガーとして機能し、プリコンパイル時と実行時の両方でエラーと警告を表示します。質問を誤解した場合は、お知らせください。

于 2012-06-24T15:57:33.147 に答える
1

Debug.Log()問題がこれを適用するのに適している場合、Unity でのデバッグに使用する最良の方法。

于 2012-10-04T20:42:02.750 に答える
1

Visual Studio で Unity プロジェクトをデバッグできるプラグイン UnityVS を使用しています。とても便利です。

UnityVS で Google を使用する

于 2014-02-28T09:40:23.200 に答える
0

debug.log("メッセージ"); を使用します。デバッグ用

于 2016-07-02T04:05:24.790 に答える
0

Unity エディター内で有用なデータをログに記録するためのショートカットを作成することも好きです。たとえば、すべてのアクティブな実績の現在の状態をログに記録します。

[MenuItem("My Game/Runtime debug/Achievement states")]
public static void LogAchievementStates ()
{
    foreach (AchievementState achievementState in Data.achievementStates)
    {
        Debug.Log ("Achievement " + achievementState.name + " is at " + achievementState.completion + "%");
    }
}

エディター スクリプト内でこれを行うと、特定のアクションを実行するためのメニュー ボタンが表示されます。

于 2016-08-04T16:13:13.900 に答える
0

実行ボタン (左上の再生ボタンのように見えます) を使用して、デバッグのために Unity エディターに接続できますが、この方法で Unity に正常に接続できない場合は、適切なプラグインが有効になっていることを確認することをお勧めします。アドイン マネージャーの設定で。

Windows: [ツール] > [アドイン マネージャー] > [Unity] > [Unity の Mono Soft Debugger のサポート]

OSX: Unity > アドイン マネージャー > Unity > Unity の Mono ソフト デバッガーのサポート

(選択して有効化をクリックします。)

于 2016-03-08T08:32:36.240 に答える
0

Unity のドキュメント -- UnityでのC # コードのデバッグ では、エディターとプレーヤーで C# コードをデバッグするための完全な方法を提供しています。

于 2021-08-23T02:30:46.130 に答える