IntervalZero's RTX product의 기본 호출을 래핑하기 위해 일부 관리 코드를 작성하고 있습니다. RTX는 기본적으로 Windows에서 커널 프록시를 설정하여 실시간 코딩을 가능하게합니다. 여기서 중요한 점은 DllMain이 DLL_THREAD_ATTACH와 함께 호출 될 때 RTX가 프록시를 생성한다는 것입니다 (그리고 DLL_THREAD_DETACH에서이를 깨뜨림). 해당 프록시가 생성되지 않았고 라이브러리에 전화를 걸면 즉시 BSOD이 표시됩니다.ThreadPool을 사용하여 mstest *를 실행하지 않고
글쎄, 나는 mstest.exe 단위 테스트를 실행할 때 ThreadPool 클래스를 사용하여 큐를 대기열에 올리는 것을 99.9 % 확신합니다 (이 동작을 설명하는 유일한 것임). RTX 라이브러리가로드되기 전에 스레드가 이미 생성 되었기 때문에 DllMain은 호출되지 않으며 RTX 서브 시스템은 그 존재를 인식하지 못하므로 유닛 테스트가 라이브러리로 호출하려고하면 실행 취소됩니다. .
정말 합리적이고 자동화 가능한 테스트 커버리지를 얻을 수 있도록이 물건에 대한 단위 테스트를 실행할 수 있어야합니다. 각 테스트마다 런타임에 새 스레드를 생성하도록 mstest에 지시하는 방법이 있습니까? 일반적으로 그렇게하는 것이 일반적으로 느리지 만 블루 스크린 이후에 다시 돌아 오는 것보다 더 빠를 것입니다.
아직 없습니다. 우리가 이미 다른 모든 작업에 사용하고있는 도구 세트에 머물기를 바라고 있습니다. – ctacke