2012-02-07 3 views
4

Delphi 2010을 사용하여 (우수한 OmniThreadLibrary를 사용하는) 다중 스레드 클라이언트 응용 프로그램을 개발 중이며, 한 스레드에서 다른 스레드로 끊임없이 교환하고 있기 때문에 디버깅에 어려움을 겪고 있습니다.Delphi 2010의 다른 스레드에 대한 실행 지점

현재 스레드뿐만 아니라 다른 모든 스레드에 대해서도 현재 실행 지점을 찾을 수 있는지 궁금합니다 (도구 또는 플러그인을 사용하여 상관하지 않습니다!).

가장 단순한 예/보고서 :

Thread #1 stopped at line #5 
Thread #2 stopped at line #25 (<-- breakpoint set here, causing Delphi to stop) 
Thread #3 stopped at line #78 

내 목표는 무엇 델파이가 특정 중단 점에서 중지 할 때 다른 스레드가하고있는 단지 로그를 사용하지 않는 (또는 그다지 도움이되지 않는다 "를 참조하십시오"하는 것입니다 Thread 12345 stopped), 중단 점이 중단 된 것처럼 검사하십시오.

제 질문이 충분히 분명하기를 바랍니다. 자정이 지난 것 같습니다. 제 질문이 어리석은 짓이라면 저를 비난하지 마십시오!

답변

6

정확하게 이해한다면, 브레이크 포인트 (Ctrl-Alt-T)에서 스레드 창을 가져 와서 스레드를 두 번 클릭하면 현재 실행중인 부분을 볼 수 있습니다.

+0

팁 주셔서 감사합니다! 하지만 그것은 ASM 코드가있는 CPU 창을 가져오고, 내가 원하는 것은 내 파스칼 코드에 해당하는 실행 지점 (또는 가장 가까운 지점)을 보려는 것입니다. – TheDude

+3

호출 스택 창을 살펴보십시오. CPU 창을 띄게되면 대개 스레드가 신호가 보내지는 O/S 수준에서 기다리고 있음을 의미합니다. –

+0

네, 그게 내가 찾고 있던거야! 정확하게 찾기 쉽지는 않지만 적어도 이제는 다른 스레드 정보를 볼 수 있습니다! 나는 당신의 대답을 upvoted했지만, 여전히 그 15 평판 포인트가 없다 : (대단히 감사합니다!) – TheDude

관련 문제