Microsoft MVP성태의 닷넷 이야기
C# debugging 중에 Thread Pool Worker들이 사라지는데요 [링크 복사], [링크+제목 복사]
조회: 1024
글쓴 사람
최가운 (choigawoon at gmail.com)
홈페이지
첨부 파일
 
Visual Studio에서 디버깅을 위해 브레이크 포인트를 설정하고, 거기에 히트되면 모든 스레드가 멈추는 거로 생각했습니다.
근데, 스레드탭을 눌러보면, 작업이 할당되지 않는 Thread Pool Worker들이 소멸되고 있어 질문 드립니다.
첨부된 파일에 해당 내용이 잇습니다.

브레이크 포인트가 걸리면 모든 스레드가 멈추는게 맞나요? 아니면 해당 코드를 실행하는 스레드만 멈추는건가요?
위의 질문에 앞서 브레이크 포인트가 걸리자마자 모든 스레드를 우클릭해서 중지로 설정해도 사라지는건 마찬가지였는데, 해당 스레드들은 디버깅 과정에서 신경을 안써도 되는 녀석들인지 궁금합니다.









[최초 등록일: ]
[최종 수정일: 10/5/2021]


비밀번호

댓글 작성자
 



2021-10-05 02시37분
[최가운] gif라첨부파일이 안올라갔네요. 댓글로 남깁니다.
https://s9.gifyu.com/images/thread-missing.md.gif
[손님]
2021-10-05 02시46분
비주얼 스튜디오에서 BP가 걸리면 모든 스레드가 멈추는 것이 맞습니다. (기술적으로 다른 스레드가 실행하도록 놔두는 것이 어렵습니다.)

첨부한 이미지를 보면 Thread Pool Worker들은 전혀 할당된 것이 아닌데요, 그런 것들은 CLR 내부의 Thread Pool 관리 코드가 알아서 조정을 합니다. 따라서 당연히 디버깅 과정에서 무시해도 됩니다. (중지하든 안 하든 실행할 코드가 없기 때문에 WaitFor... 유의 코드에서 걸려서 대기 중이었을 것입니다.)
정성태
2021-10-05 02시53분
[최가운] 감사합니다. 실제로 코드가 잡히는 스레드들은 중지상태로 남아있어서 말씀하신 내용과 일치하네요.
[손님]

1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5482질문4/13/20211957WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지4/5/20211780GetHashCode 질문있습니다! [2]
5479한예지4/4/20211668Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20212754C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20211603c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimohy3/2/20211934POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20211640사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지2/25/20211533디자인 타임이 뭔지 궁금합니다!! [5]
5472dimohy2/24/20211855등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [6]
5471남산2/21/20211847MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지2/7/20211930yield 질문있습니다!! [2]
5469유호성2/6/20211609Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467heroho2/4/20211643실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20211676c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20211603두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20211526C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지1/24/20211894Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20211866사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지1/22/20212053AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지1/21/20212107typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20212351C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202120779.0 출간 계획이 있으신가요? [2]
5455한예지1/16/20211935교재 194페이지 콜백메서드 질문 있습니다! [5]
5454한예지1/15/20211968교재 208쪽 질문....있습니다... [3]
5453안녕하세요1/15/20212367C# dll 파일을 C++에서 사용 시 memory leak 문제 [2]파일 다운로드1
5452예지1/15/20211956var를 사용할 수 없는 이유가 궁금합니다! [3]
1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...