마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

함수가 언제 호출되는지 알 수 있나요?

0 추천
안녕하세요, 안드로이드 초보 개발자입니다.

현재 한 함수에서 널포인트 에러가 나서 원인을 찾고 있는데

그 함수가 어디서 호출되서 에러가 나는건지 알 수가 없습니다.

모든 java 파일을 찾아봐도 호출하는 명령어는 없고

그 함수를 대입하는 수식 밖에 없습니다.(ex: int a = b;)

제가 이 함수가 언제 호출되는지 디버그 프로세스를 볼 수 있는 방법 없나요?

run이나 logcat에서 찾지 못하겠습니다...
yt0229 (1,070 포인트) 님이 2018년 2월 26일 질문

1개의 답변

0 추천
 
채택된 답변
에러나는 함수 맨 첫부분에

call stack 함수를 호출해서 확인해보심 될 것 같아요.

 

http://egloos.zum.com/shadowxx/v/10682756

이 사이트 한번 참고해보세요
익명사용자 님이 2018년 2월 26일 답변
yt0229님이 2018년 3월 9일 채택됨
답변 감사합니다만.. 이걸로 해서 나오는건 logcat이랑 같은거 아닌가요...? ㅠㅜ
익셉션이 나서 logcat에 나오는건 왜 난건지를 알려주는 거고 저건 저 함수가 어디서부터 호출이되서 온건지를 보여주는 함수라고 생각해주시면 될꺼에요
그럼
E/RegistrationFragment_Debug: stacktrace
E/RegistrationFragment_Debug: mobilelocker.Fragment.HomeFragment.ValidDate(HomeFragment.java:123) mobilelocker.MainActivity.UIstart(MainActivity.java:2892) mobilelocker.MainActivity.onCreate(MainActivity.java:299) android.app.Activity.performCreate(Activity.java:6876) android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135) android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3206) android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3349) android.app.ActivityThread.access$1100(ActivityThread.java:221) android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) android.os.Handler.dispatchMessage(Handler.java:102) android.os.Looper.loop(Looper.java:158) android.app.ActivityThread.main(ActivityThread.java:7225) java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

RegistrationFragment 에서 호출됐다는 말인가요??
위의 함수는 HomeFragment에 있는 함수 안에 넣었습니다만..
직접적으로 처음 호출된 부분은 HomeFragment에 123번째줄에서 시작된거에요. 그리고 나서 MainActivity에 2892번재줄이 실행되고 이런식으로 보시면되요.
RegistrationFragment_Debug 이부분은 위 사이트에서 로그 출력시 TAG 부분에 어떤 값을 넣으셨냐에 따라서 다른거고요.  
정확히 코드가 어떤식으로 구성되어 있는 진 모르지만 현재 올려주신 로그로는 제가 확인할 수 있는게 이게 다네요
HomeFragment 123번째 줄 error가 제가 찾는 함수 안에 있는 거거든요.. 그래서 그 함수가 어디서 호출되는지 찾는건데 결국 링크 걸어주신 방법으로도 찾을 수는 없는거 같네요.. ㅠㅜ 감사합니다.. ㅠㅜ
억 ㅋㅋ 제가 거꾸로 말씀드렸네요 mobilelocker.MainActivity.onCreate(MainActivity.java:299) 여기가 시작점이네요
MainActivity 299번째줄 확인한번 해보세요

그 부분부터 차례대로 위로 올라가면서
MainActivity.UIstart(MainActivity.java:2892)
이 부분도 확인해보시면 좋을 것 같아요
아뇨 어차피 같은 내용이에요 ㅎㅎ 299번째 줄이 다른 함수를 호출하고 그 함수가 또 호출해서 결국 HomeFragment 123번째 줄을 호출하는거라 ㅎㅎ
...