driver-online
  log-inmypagesitemap
top
   자유게시판
   로그북
    견우일지
    시스템팀 개발일지
    Beginning Driver
   유용한 팁&강좌
   CrashDump분석(beta)
   개발QnA
    WDM 입문
    USB
    NDIS
    File System
    Debugging 관련
    그 외
 
개발자 포럼 > 유용한 팁&강좌
조건 브레이크 포인트
 ·작성일 2008.01.23:18.04 (수)  · 작성자 뿔테  · 조 회 9,532



바로 밑에  조건 브레이크 에 대한 글이 있네요 ;;
//windbg help 참고



조건 bp 만드는 순서

1.bp 위치 분기문
2.bp `위치` "분기문"
3
.bp `mydriver.c:142` "분기문 "
4.bp `mydriver.c:142` ".if(조건){수행} .else{수행} "
`이거 잘보세요 ~버튼의 ` 입니다 '와 헷갈리시면 안되요


int index=0;

 kd> bp `mydriver.c:142` ".if (@@(index)==0) {.echo'aa'} .else {.echo'bb'}"
'aa'
kd> bp `mydriver.c:142` ".if (poi(index)==0) {.echo'aa'} .else {.echo'bb'}"
 'aa'

@eax = 0xa 

> bp `mydriver.c:142`   ".if @eax = 0xa  {.echo '0xa'} .else {.echo 'bed value'}"

//@@ 와 poi 의 차이는 ??  @@은 c++문법 poi 는 masm ?

 

if (@@(index)==0n1) 10 진수 1과 같다면  

if (@@(index)<0n1) 10 진수 1보다 작다면

                            16진수는 0x

 

.echo 출력   //windbg 에만 출력된다
bp`mydriver.c:142`  ".if (@@(index)==0n1) {.echo 'over num'} .else {.echo'ok'}"

 g 실행 
 bp `mydriver.c:142`  ".if (@@(index)==0n1) {.echo 'over num'} .else {g}"

both // 세미콜론;
.else{ .echo 'ok' ; g}

기타 ....
.break/
.catch/.continue/.do/.elsif/.for/.foreach/.leave/.printf/.while


스크립트도 이용가능하군요 
 kd> bp `mydriver.c:145` ".for(r $t0=0;$t0<5;r $t0=$t0+1) {.echo 'aaa'} "
kd> g
'aaa'
'aaa'
'aaa'
'aaa'
'aaa'

*답변을 받은 후 감사의 글을 남기는 것은 꼭 지켜야할 네티켓입니다.
    

이 전 : Visual C++ 2008 Express + WINDDK build 6000

다 음 : [WinDbg 사용] 익스텐션(extension) DLL 예제


·뿔테 잘안되시면 windbg help 의 Conditional Breakpoint 한번
읽어보세요
2008.03.01 코멘트 삭제
·뿔테 `이거 잘보세요 ~버튼의 ` 입니다 '와 헷갈리시면 안되요
이부분 때문이 아닐까요 ?
2008.03.01 코멘트 삭제
·미친감자 그런데 이상하게 제가 하면 잘 안되더라구요...
2008.02.28 코멘트 삭제
·미친감자 고맙습니다. 정말 정말 고맙습니다. 2008.01.24 코멘트 삭제
 
quick-menu
event
study
QnA
pds
family-site concert used used2 intro
address
address