2012-04-05 2 views
7

내 응용 프로그램에서 활동이 별도의 프로세스로 실행되는 서비스를 시작하지만 서비스뿐만 아니라 활동도 디버깅하고 싶지만 디버거가 중단 점에서 중지되지 않습니까?Android에서 두 프로세스를 디버깅하는 방법은 무엇입니까?

도움 주셔서 감사합니다.

+0

:-). 서비스 중단 점이 발생하지 않는 이유는 없습니다. 서비스를 시작하는 데 사용중인 활동의 중단 점에서 성공적으로 중지 할 수 있습니까? – tomtheguvnor

+0

@tomtheguvnor 활동에서 예. –

+3

일시적으로 별도의 프로세스가되지 않도록하십시오. 일반적으로 RAM과 CPU가 불필요하고 RAM이 불필요하므로 영구적으로 별도의 프로세스가되지 않도록하십시오. – CommonsWare

답변

5

일시적으로 별도의 프로세스가 아닙니다.

@CommonsWare는

4

당신은 별도의 프로세스에서 디버깅을 활성화해야합니다.

DDMS 퍼스펙티브를 엽니 다 (디버그 또는 Java에 우선 함). DDMS -> 장치에서 서비스의 프로세스를 선택한 다음 디버그 단추 (작은 녹색 단추)를 클릭하십시오. 프로세스 근처에 디버그 아이콘이 나타나면 서비스에서 중단 점을 사용할 수 있어야합니다.

디버깅을 사용하도록 설정하기 전에 원격 프로세스가 시작될 때까지 기다려야합니다. 따라서 부팅 할 때 별도의 프로세스가 시작되도록하거나 원격 서비스를 시작하는 줄 바로 다음에 주 프로세스에 중단 점을 설정할 수 있습니다.

enter image description here

디버깅을 활성화 한 후 :

수 있도록 디버깅하기 전에

enter image description here

가 (물론 일시적으로도 서비스가 아닌 원격 작품을 만드는,하지만 난 인스턴스를 했어 어디 실용적 아니었다)

+0

+1, 감사합니다. 나는 두 가지 프로세스를 더 이상 사용하지 않기 때문에 동의하기 전에 커뮤니티 수의사에게 대답을 할 것입니다. –

+0

IntelliJ에 대해서도 같은 지시 사항이 있습니다. http://stackoverflow.com/a/10703431/9636 –

5

그냥 다른 대답을 정교하게 여기에서 일시적으로 android.os.Debug.waitForDebugger();을 보조 프로세스의 코드에 넣으면 더 쉽게 사용할 수 있습니다.

그런 다음 DDMS 또는 IntelliJ (또는 사용중인 무엇이든)를 통해 프로세스에 디버거를 연결하십시오.

+0

google 직원이 백업 할 공식 조언 : https://groups.google.com/d/msg/ android-developers/DftP5gYcwYI/j_mccTSCHNQJ –

관련 문제