質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

5779閲覧

[Unity]ビルドしたアプリが終了時に必ずクラッシュする

Futahei

総合スコア80

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2018/02/02 09:22

前提・実現したいこと

Unityで制作中のアプリについて原因の分からないクラッシュが起きます。
エディターでは基本的に問題なく動作しています。ただし条件不明ですがときどきUnityがクラッシュします。(実行時またはUnity終了時)
クラッシュの詳細は以下の通りです。

発生している問題・エラーメッセージ

アプリ名 [version: Unity 2017.3.0f3 (a9f86dcd79df)] UnityPlayer.dll caused an Access Violation (0xc0000005) in module UnityPlayer.dll at 0033:5d9f3b1a. Error occurred at 2018-02-02_180906. D:\Documents\Desktop\アプリ名.exe, run by ユーザー名. 31% memory in use. 24512 MB physical memory [16898 MB free]. 28096 MB paging file [19047 MB free]. 134217728 MB user address space [134217114 MB free]. Read from location 000001a0 caused an access violation. Context: RDI: 0xfc3ff068 RSI: 0xffffffff RAX: 0x0000006d RBX: 0xfc3ff090 RCX: 0x00000000 RDX: 0xfc3ff090 RIP: 0x5d9f3b1a RBP: 0xfc3fefb0 SegCs: 0x00000033 EFlags: 0x00010202 RSP: 0xfc3fee80 SegSs: 0x0000002b R8: 0xfc3ff040 R9: 0xfc3ff068 R10: 0x5e4fa010 R11: 0x5ef24470 R12: 0xfc3ff040 R13: 0x00000000 R14: 0xfc3ff1a0 R15: 0x00000001 Bytes at CS:EIP: 48 8b 99 a0 01 00 00 4c 8b c2 48 8b b9 98 01 00 Stack: 0xfc3fee80: 5ef24470 0000019a 000b8bbb 00000000 pD.^............ 0xfc3fee90: 5e85ef30 00007ffe 5d6f0d6b 00007ffe 0..^....k.o].... ~~~~~~~~~~~~~~~~~~~~~[中略]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0xfc3feea0: fc3ff068 00000041 5d9f3eea 00007ffe h.?.A....>.].... Module 1 C:\Program Files\Bonjour\mdnsNSP.dll Image Base: 0x59ac0000 Image Size: 0x00026000 File Size: 133392 File Time: 2015-08-12_160342 Version: Company: Apple Inc. Product: Bonjour FileDesc: Bonjour Namespace Provider FileVer: 3.1.0.1 ProdVer: 3.1.0.1 == [end of error.log] ==

試したこと

PCの再起動、グラフィックドライバの更新

補足情報

Unity 2017.3.0f3

スクリプト内で、セーブデータのようなものを扱っています。Application.persistentDataPathで得た場所にjsonで保存して、起動時に読み込んでいます。終了時に書き込んでいるわけではないですが、クラッシュ後に再び起動するとセーブデータが故障(読み込まれない)しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

補足に書いたSavedataクラスのデストラクタを消したところ、改善しました。
どうやらデストラクタ内で扱う変数の中に呼ばれる前に消えてしまうものがあったようです。
(確証はありません)

投稿2018/02/15 06:21

Futahei

総合スコア80

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2018/02/15 06:46

C#のデストラクタはいつ呼ばれるかが分からない仕様になっています。 UnityではOnDestroy()というものがあるので、そちらを使うのがよろしいかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問