2017-12-04 23 views
0

버튼이있는 Universal Windows Platform 응용 프로그램을 테스트하고 있습니다. 내가 버튼을 푸시하고 작업을 마친 후 프로그램을 일시 정지하면 메인 스레드와 작업자 스레드 만 보입니다. 만약 내가 똑같은 일을 충분히 빨리 수행한다면 결코 사라지지 않는 추가 작업자 스레드를 발견 할 것입니다.C# 디버깅 - 어떻게 작업자 스레드를 만들 었는지 알 수 있습니까?

이 남은 작업자 스레드로 이끄는 실수를 찾고 싶습니다. 그러나 지금까지는 디버깅 도구로는 실패했습니다. 스레드 창에는 ID, Managed ID, Category = Worker Thread, Name = < No Name>, Location = <, 우선 순위 = 보통 만 표시됩니다.

남은 작업자 스레드에 대해 더 자세히 알 수 있습니까? 예를 들어, 그것이 산란되었을 때, 무엇을하고 있었는지, 왜 파괴되지 않는지.

+0

팁이있다. 일을 기다리고, 웅장하고 수영장에서 기다리고 있습니다. 당신이 UWP를 목표로 삼을 때 항상 주변에 있으며, 많은 비동기가 주변에 있습니다. 유일한 문제는 문제가 없다는 것입니다. –

답변

0

스레드를 만들 때 스레드에 데이터를 설정할 수 있으며 디버깅 중에 해당 데이터에 액세스 할 수 있습니다. 이 데이터 저장소를 사용하여 생성 된 위치와 같은 디버그 정보를 저장할 수 있습니다.

https://docs.microsoft.com/en-us/dotnet/standard/threading/creating-threads-and-passing-data-at-start-time

는 또한 현재 코드를 실행하지 않는 단지 스레드 스레드 여기 Thread-exclusive data: how to store and access?

+0

thread.start()와 비슷한 메서드를 UWP 응용 프로그램에서 사용할 수 없기 때문에이 메서드를 사용할 수 있는지 잘 모르겠습니다. 어떤 사람이 코드를 수정하지 않고도 작업 스레드를 생성하는 방법을 알려주고 싶습니다. – Dpt