visual studio에서 Debug의 watch 질문
글쓴이: high385 / 작성시간: 화, 2015/11/03 - 7:01오후
visual studio에서 Debug의 watch를 open 후에 #define으로 정의한 상수를 이용한 값은 볼 수 없는 것인가요?
예를 들어서 #define A 1로 정의 후
watch에서 A*3 등을 입력하면 CXX0017: Error: symbol "A" not found 라고 나오네요.
또 한가지 더 질문드리면
visual studio에서 Debug의 watch에서 sizeof(long long)하면 4가 나오는데 8이 나오게 할 수도 있나요? 4로 나오는 이유도 알고 싶습니다.
cpp 파일에서 int size = sizeof(long long);로 하면 size는 8로 출력되는데요.
watch와 실제 결과값이랑 차이가 발생하네요~ 이유를 아시면 알려주세요.
Forums:
MS에 문의해보세요.
.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
gilgil.net
MS에 문의하라니... 쩝...
define 값은 말 그대로 preprocessor에서 처리되어 지는 값(치환되는 값)입니다.
컴파일 과정에서 일단 치환이 되면 그 이후에는 존재하지 않는 값이라고 보면 됩니다.
당연히 symbol로 남는 value가 아니죠.
www.gilgil.net
컴파일러나 컴파일러 옵션, 디버거의 기능과도 관련이
컴파일러나 컴파일러 옵션, 디버거의 기능과도 관련이 있긴 합니다.
그러니 컴파일러, 디버거의 매뉴얼을 샅샅이 훑거나 구글링을 열심히 해야겠는데, 돈주고 산 visual studio 라면 이런 귀찮은 일은 MS 직원이 하는게 마땅하지 않을까요 ?
당장 gcc 와 gdb 만 해도 #define 으로 정의된 것들에 대해 gdb 에서 볼 수 있는 방법이 있습니다.
이거 확인해보세요.
확인해보니. 오류에 대한 내용과 몇가지 방법이 있네요.
크게 4가지로 분류했습니다.
- 오류 코드 검색
- __cdecl
- 실제 sizeof 연산자를 출력한 결과
- size_t sizeof() 연산자 검색
sizeof 는 연산자이고. unsigned long * 형입니다. typedef ULONG_PTR SIZE_T;
printf() 는 __cdecl을 사용합니다.
자세한 내용은 링크를 참고해주시기 바랍니다.
//-------------------------------------------
CXX0017: Error: symbol "A" not found
http://www.google.co.kr/search?hl=ko&source=hp&biw=&bih=&q=CXX0017%3A+Error%3A+symbol+%22A%22+not+found&gbv=2&oq=CXX0017%3A+Error%3A+symbol+%22A%22+not+found&gs_l=heirloom-hp.12...4266.4266.0.4757.1.1.0.0.0.0.135.135.0j1.1.0....0...1ac..34.heirloom-hp..1.0.0.sCd1Qr_aRgM
//-------------------------------------------
__cdecl
http://www.google.co.kr/search?hl=ko&source=hp&biw=&bih=&q=__cdecl&gbv=2&oq=__cd&gs_l=heirloom-hp.3.0.0l7j0i10j0l2.1013.3511.0.5381.4.4.0.0.0.0.180.555.1j3.4.0....0...1ac.1.34.heirloom-hp..2.2.238.VpUmEMSKaS0
//-------------------------------------------
DevC++ 32비트 컴퓨터
//-------------------------------------------
Common Visual C++ 64-bit Migration Issues
https://msdn.microsoft.com/en-us/library/3b2e7499.aspx
Size Specification
https://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx
2.2.43 SIZE_T
SIZE_T is a ULONG_PTR representing the maximum number of bytes to which a pointer can point.
This type is declared as follows:
typedef ULONG_PTR SIZE_T;
https://msdn.microsoft.com/en-us/library/cc441980.aspx
sizeof_t msdn
size_t (unsigned __int64 or unsigned integer, depending on the target platform)
Result of sizeof operator.
CRTDEFS.H and other include files
https://msdn.microsoft.com/en-us/library/323b6b3k.aspx
5-3-다.sizeof 연산자
http://www.soen.kr/
sizeof 연산자 (C)
https://msdn.microsoft.com/ko-kr/library/0w557fh7.aspx
sizeof operator
http://en.cppreference.com/w/cpp/language/sizeof
sizeof 연산자
https://msdn.microsoft.com/ko-kr/library/4s7x1k91.aspx#
_countof Macro
Compute the number of elements in a statically-allocated array.
size_t _countof(
array
};
Fundamental Types (C++)
https://msdn.microsoft.com/en-us/library/cc953fe1.aspx#
Marshal::SizeOf 메서드 (Type^)
https://msdn.microsoft.com/ko-kr/library/5s4920fa(v=vs.110).aspx#
static int SizeOf(
Type^ t
)
Windows Data Types
https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기