|
플그램시러시러 님이 쓰신 글 :
: 아직 BCB가 익숙하지않은 플그램시러시러입니다.
:
: 주로 파일 시스템... 파일 시스템 필터를 개발하다 보니... GUI, MFC만 봐도 머리가 아파집니다... 보통 cli용 제품으로 짜서... MFC하는 친구들에게 넘겨주죠... 그러면... 잘 만들어주니깐...
:
: 그러다가, 다행히 BCB가 의외로 API를 잘 지원하는 것을 알고... 요새 관리프로그램의 일부 모듈을 작성하고 있습니다. 써보면서 참 좋다는 생각이 드네요.. 컴파일이 좀 느리다는 것 빼구요...
:
: 서론이 길었습니다. 질문으로 들어가겠습니다.
:
: 1. 아마 VC에서 프로그램을 자주 짜신 분들은...
: __asm int 3 라는 구문을 아실 겁니다. 인라인 어셈블이 어쩌고 저쩌고 하지만... debug시 break point를 걸기 위해서 사용하는 구문입니다.
: 저는 #define DbgBreak() {__asm int 3}
: 해서... 눈에 잘 띄게 만들죠.. 그리고 에러가 예상되는 지점에 DbgBreak()를 걸어둡니다.
: 커널 모드, 유저모드 모두다 VC에서는 아주 잘 먹습니다.
: 그런데.. BCB에서는 안타깝지만.. 아무 작업을 안 하더군요.. 유사한 방법이 있습니까?
:
: 2. 제가 잘 못찾아서 그런데.. BCB로 폼을 만들고 나서.. 작업 줄을 보니... 프로그램 이름이 이상하게 나오더군요..
: 예를 들어... main form의 이름이... TESTING 이라고 하면... 자기가 알아서.. 첫글자는 대문자.. 나머지는 소문자.. 즉... Testing으로 나오네요... 여러 단어인 경우에는 첫번째 단어만 나오구요... 어디서 바꿔야 하나요?
:
: 미리 답변 주실 고수분들께 감사드리는 바입니다.
: 플그램 시러시러 드림..
1번:
디버그와 어셈블언어의 관계에 대해서는 제가 확실하게 아는 것은 없지만,
아마도 매크로 정의 시 문장 끝 표시인 세미콜론을 누락한 게 아닌가 싶습니다.
아래 세 개 중 하나로 해야 할 것으로 생각됩니다. 만약 이게 틀린 것이라면 컴파일도 안 되었을텐데 이와 관련된 문제는 아닌듯 싶기도 하네요.
#define DbgBreak() {__asm int 3;}
#define DbgBreak() __asm int 3;
#define DbgBreak() __asm{int 3}
한편, break point를 걸려면 코드 창에서 해당 하는 소스코드에 커서를 놓고 F5 키를 누르면 됩니다.
2번:
Object Inspector에서 main form의 Caption 항목에 원하는 이름을 지정하면 됩니다.
Object Inspector가 보이지 않으면 F11 키 또는 [View]->[Object Inspector]로 보이게 합니다.
|