4

다른 명령으로 실행되는 명령이 무엇인지 파악하고 싶습니다. Windows에서 프로그램에 명령 행 플래그가 전달되었을 때 디버그 기호 나 정렬이없는 컴파일 된 (최적화 된) 바이너리가있는 경우이 표시됩니다. 나는 그 차이가 소수의 지시 이상이 아님을 안다.바이너리의 동작 기록?

어떻게 생각하나요? 일정 기간 동안 프로그램이 어떤 명령을 정확하게 실행하는지 기록하는 기술이 있습니까?
(이 하지 그냥 플래그가 있기 때문에 명령 줄 플래그의 루프에 설정되고, 어떤 시스템 호출을 포함하지 않습니다.)

답변

0

당신은 명령 기반의 프로파일 링을 사용하여, AMD의 CodeAnalyst이 작업을 수행하는 데 사용할 수있는 방법. 또한 앱 내에서 모든 이벤트를 트리거 할 수있는 API를 제공하므로 특정 지역을 모니터링 할 수 있습니다. 또한 이해할 수있는대로 디스어셈블러를 사용할 수 있습니다. '명령어'라는 단어를 사용하여 상위 수준 코드 작업과 하위 수준 컴퓨터 코드를 모두 의미합니다 (누가 실행을 변경할 수 없으며 컴파일러에서 방출 된 코드 만이 실행을 변경할 수 있습니다). 높은 수준의 작업).

+0

고마워요! 그것은 정말 멋진 도구처럼 보입니다. 그러나 대부분의 지침은 샘플링되지 않기 때문에 종종 무언가를 잡지 못합니다. 가능한 경우이를 수정하는 방법에 대한 아이디어가 있습니까? – Mehrdad

+0

@Mehrdad : 시간 기반과 같은 다른 샘플링 방법 중 하나를 시도해 볼 수 있습니다. (샘플 튜토리얼이 있어야 함). – Necrolis