Systrace 또는 최소한 strace 와 동등한 Windows를 찾고 있습니다. 나는 StraceNT에 대해 알고 있지만 더 많은 대안이 있는지 궁금합니다. 구체적으로 시스템 호출 정책을 프로그래밍 방식으로 시행 할 수있는 특정 방법을 찾고 있는데, 이는 적극적으로 중지하는 것이 아니라 사실 이후 일 수 있습니다.
현재이를 수행하는 좋은 방법이 있습니까?
답변:
WinDbg의 Logger.exe는 strace에 가장 가깝습니다. http://msdn.microsoft.com/en-us/library/windows/hardware/ff552060(v=vs.85).aspx
편집 : windbg의 wt도 있습니다 : http://blogs.msdn.com/b/debuggingtoolbox/archive/2009/10/12/special-command-tracing-applications-using-wt.aspx
Dr. Memory ( http://drmemory.org ) 도구에는 대상 응용 프로그램에서 수행 한 모든 시스템 호출을 인수와 함께 나열하는 drstrace라는 시스템 호출 추적 도구가 함께 제공됩니다. http://drmemory.org/strace_for_windows.html
프로그래밍 방식으로 시스템 호출 정책을 적용하려면 drstrace와 동일한 기본 엔진 인 DynamoRIO 도구 플랫폼 ( http://dynamorio.org ) 및 DrSyscall 시스템 호출 모니터링 라이브러리 ( http://drmemory.org/docs/page_drsyscall)를 사용할 수 있습니다. html ). 이들은 동적 이진 번역 기술을 사용하는데, 이는 약간의 오버 헤드 (정상 상태에서 20 % -30 %, 큰 데스크톱 앱 실행과 같은 새 코드 실행시 훨씬 더 높음)를 발생 시키며, 이는 귀하의 목적에 적합하거나 적합하지 않을 수 있습니다.
여기에 꽤 흥미로운 기사가 있습니다. 당신이 찾고있는 목표물에 맞았는지는 모르겠지만 당신이 원하는 방향으로 당신을 이끄는 것을 찾을 수있을 것 같습니다.
http://jbremer.org/intercepting-system-calls-on-x86_64-windows/
strace는 cygwin 패키지의 Cygwin에서 사용할 수 있습니다 . 예를 들어 Cygwin 미러 에서 다운로드 할 수 있습니다 .
http://mirrors.sonic.net/cygwin/x86_64/release/cygwin/cygwin-2.0.2-1.tar.xz
# | | | |
# +-----------+----------+ +--+--+
# | |
# mirror version
strace는 Cygwin DLL에 의존하지 않는 몇 안되는 Cygwin 프로그램 중 하나이므로 strace.exe
원하는 위치에 복사 하여 사용할 수 있어야 합니다.
strace notepad
. 메모장을 시작하지만 시스템 호출은 캡처하지 않습니다.
Xperf를 중심으로 구축 된 여러 도구가 있습니다. 다소 복잡하지만 매우 강력합니다. 빠른 시작 가이드를 참조하세요 . Windows 성능 분석 페이지 에는 다른 유용한 리소스가 있습니다 .
Mark Russinovich가 작성한 프로세스 모니터를 사용할 수 있습니다. 이것은 시스템에서 실행중인 모든 프로세스에 연결하고 프로세스가 현재 만들고있는 모든 시스템 호출을 볼 수있게 해주는 환상적인 작은 응용 프로그램입니다.
https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx