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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

3036閲覧

crashログの読み方がわかりません。

huni

総合スコア5

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2020/03/11 05:40

Android用のカメラを利用したアプリをjavaで作成しています。

連続して撮影を行うとプレビュー画面を開く・閉じる際に偶にアプリが落ちます。
(プレビュー画面には、テキストビューメッセージを表示しています。)

落ちる際には、以下のcarshログが出力されています。

「java.lang.IndexOutOfBoundsException: 1, 1」は何かの配列にデータを格納しているが、存在し無い配列番号を参照しようとしてして出ているエラーであることは理解できました。
また、ログは上から順番にエラーの原因に近い事も理解できました。

PIDでログを遡上るとカメラの処理に関係するのではないかというところまで予想を付けました。
(毎回カメラの処理とは限らないようなのですが・・・。)

ですが、以上の内容で「どのように調査すればよいのか」、「なぜ配列が関係するのか」が、わからずに悩んでおります。

考え方のヒント・ログの読み方等でも結構ですので、ご教授いただけると幸いです。

宜しくお願い致します。

ログ******************************************************************************
--------- beginning of crash
[日付 時間] 14857-14857/[パッケージ名] E/AndroidRuntime: FATAL EXCEPTION: main
Process: [パッケージ名], PID: 14857
java.lang.IndexOutOfBoundsException: 1, 1
at android.text.PackedIntVector.getValue(PackedIntVector.java:75)
at android.text.DynamicLayout.getLineTop(DynamicLayout.java:1001)
at android.text.Layout.getLineBottom(Layout.java:1637)
at android.widget.Editor.drawHardwareAcceleratedInner(Editor.java:1913)
at android.widget.Editor.drawHardwareAccelerated(Editor.java:1854)
at android.widget.Editor.onDraw(Editor.java:1794)
at android.widget.TextView.onDraw(TextView.java:7230)
at android.view.View.draw(View.java:20226)
at android.view.View.updateDisplayListIfDirty(View.java:19101)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290)
at android.view.View.updateDisplayListIfDirty(View.java:19061)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290)
at android.view.View.updateDisplayListIfDirty(View.java:19061)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290)
at android.view.View.updateDisplayListIfDirty(View.java:19061)
at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4317)
at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4290)
at android.view.View.updateDisplayListIfDirty(View.java:19061)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:686)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:692)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:801)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:3332)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3129)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2498)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1473)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7215)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1004)
at android.view.Choreographer.doCallbacks(Choreographer.java:816)
at android.view.Choreographer.doFrame(Choreographer.java:751)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:990)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:280)
at android.app.ActivityThread.main(ActivityThread.java:6706)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)


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

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

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

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

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

guest

回答1

0

ベストアンサー

おそらくAndroidStudioのLogcatに表示されているエラーログだと思います。
プロジェクト内で起きているエラーの場合、プロジェクト内のファイル名が青で表示されるので辿り着きやすいと思いますが、そうでない場合はUI描画スレッド(メインスレッドとは別に走っている)内でエラーが起きており、捕捉するのが難しいです。

代替どのあたりがエラーを引き起こしているかは目星がついているようですので、その処理の近辺にチェックポイントを複数設置します。

Kotlin

1 2var checkPointCount = 0 3 4checkPointCount++ 5Log.d("TAG", "Check Point: $checkPointCount")

Java

1int checkPointCount = 0; 2 3checkPointCount++; 4Log.d("TAG", String.format("Check Point: %d"), checkPointCount);

Logcatの表示レベルをDebugに調整すると、Log.d出力が見れるようになります。
それで、どこまで処理が進んだかを特定して、さらにチェックポイントの間隔を狭めていくと悪さをしている行がどこかが分かるようになります。

簡単なエラーならブレークポイントを設定して止まりながら見ていけますが、描画スレッド内で起きているエラーの場合はブレークポイントをうまくセットできないと思うので、私はこのようにやっています。(原始的ですが…)

すると今回の事例ですとその近辺で配列やリストがらみの問題が起きているかもしれません。

投稿2020/03/11 06:21

quadii.shii

総合スコア257

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

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

huni

2020/03/12 00:10

ご回答ありがとうございます。 また、調査方法等の丁寧なアドバイスをいただき、誠にありがとうございます。 >おそらくAndroidStudioのLogcatに表示されているエラーログだと思います。 ご指摘の通りでございます。 >そうでない場合はUI描画スレッド(メインスレッドとは別に走っている)内でエラーが起きており、捕捉するのが難しいです。 このようなパターンもあるのですね・・・、教えていただいたチェックポイントを作成して調査をしてみます。 何か進展がありましたら、ご報告させていただきます。 (不慣れなものなので、お時間が掛かると思いますが、ご了承下さい)
huni

2020/03/23 14:07

ご報告遅くなり申し訳ありません。 教えていただいた調査方法を利用し、原因らしき箇所を特定できました。 どうもカメラの終了処理が正常に実施されていなかったようでした・・・。 今は前より安定するようになりましたので、しばらく様子を見てみようとおもいます。 大変勉強になりました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問