Tag : Debugging
-
추리소설에서 디버깅의 향기를 느끼기- 2008-08-11:
추리소설 내지는 추리가 내재된 소설, 극, 드라마, 영화등을 볼 때 아주 높은 확률로 (프로그램) 디버깅의 향기를 느끼게 된다.
decadence in the rye의 “핀치의 부리”를 통해 간만에 읽은 셜록 홈즈의 구절들.“Eliminate all other factors, and the one which remains must be the truth.” (4개의 서명, 1장)
“How often have I said to you that when you have eliminated [...]
Windows를 재설치하고 5.1 채널 출력이 작동 정지…- 2008-06-28:
주초에 Windows Vista x64를 집에서 사용하는 데탑에 설치했다 — 모종의 문제로 이전 버젼을 리셋(…).
그리고 나서 각 드라이버 및 프로그램들을 재설치하는데, 이게 왠걸 iTunes에서 몇몇 트랙을 재생하는데 5.1 채널로 나오질 않는다 -_-;;;
사실 iTunes야 해당 트랙 — CD라거나 aac 파일이라거나 … — 을 해당 트랙에 맞게 디코딩 해주는 것 뿐이지만 내 기억이 맞다면 분명히 SoundBlaster X-fi가 알아서 [...]
최악의 버그- 2008-06-23:
최악의 버그가 뭐냐고 묻는다면 주저않고 답할 수 있는 것: 재현이 안되는 멀티스레드 응용의 버그.
오전에 날씨가 적당히 시원해서 간만에 오전에 집중해서 프로그래밍을 했다. 대충 티켓 하나 제대로 치우고 오후 근무를 시작하려던 참에 -_- 버그 하나에 대한 사항이 넘어왔음.
3월 중순~4월 중순에 손댔던 응용의 버그라는데, 상황을 설명하자면
클라이언트 코드 / 바이너리 없음(…)
서버는 내가 작성
정확한 재현 조건 모름
Q/A 팀은 버그 [...]
C언어 문자열을 가능한한 피해야하는 이유- 2008-06-19:
C++에서 C 언어 스타일로 — 메모리 할당만 빼고 – 문자열을 복사하는 코드다. 여기에는 버그가 숨어있다.
void some_function( const char* str )
{
int len = ::strlen( str ); // str은 안전한 문자열임
char* pBuffer = new char[ len ];
::memset( pBuffer, 0, len );
::strcpy_s( [...]
잡담: 2008년 5월 20일- 2008-05-20:
어떤 디버깅
<rein_> 덤프도 없이
<rein_> 미니덤프 로그랑
<rein_> (덤프도아님)
<rein_> 모듈 주소정보랑
<rein_> 해당 리비젼 빌드한 맵파일만 가지고
<rein_> 추측디버깅중(…)
<rein_> + 재연안됨
<rein_> orz
<zzl> 이건 뭐 실진맥도 아니고
Orz
결국 제대로 된 덤프를 남기게 변경했지만 (팀 라이브러리 ㄳ), 여튼 서버 코드를 내 손에서 한참 벗어난 곳에서 디버깅해야할 줄은. 이건 다 경험 문제겠지.
이력서 제발 좀
- 경력과 관계 없는 알바 : 프로그래머가 사무직 보조 알바라거나 [...]
ActionScript: Shock and awe- 2008-05-09:
C…더 이상 이 주제로 글을 쓰고 있지만 아마도, 그리고 기원하건데 마지막 글일 듯.
지역 변수의 스코프 문제
지역 변수의 선언이 유효한 범위(local variable scope) 가 굉장히 괴악하다. 다음은 너무나도 적절한 mtasc.com에서 제시하는 예제.
function f() {
var x = 1;
if( true ) {
var x = “hello”;
// …
}
trace(x+1);
}
trace 의 결과가 좀 충격적이다. 일반적인 프로그래밍 언어 에 익숙한 사람이라면 출력되는 결과를 [...]
Thread Local Storage on Win32- 2008-04-22:
제목에 비해선 좀 작은 주제를 하나
Win32 API — 좀 더 구체적으로는 MSVC / intel CC의 일부 — 에서는 thread-local 하다는 것을 C/C++ 키워드로 표현할 수 있다.
static inline int getMid(BYTE* array, const int size,
const int index)
{ // find median value in array
int [...]
곱셈의 덫 - 편지 봉투 뒷면을 써야할 시점- 2008-04-02:
오후에 ticket 하나를 꺼내서 슥슥슥 구현을 하고나서, 테스트가 통과하나 테스트를 돌리는데 이게 왠 걸, 통과는 하는데 원래 1.x 초면 (늦어도 3초?) 끝나던 것들이 1분씩 걸리고 있는 것.
뭔가 버그를 집어넣었구나 하고 이전 revision과 현재 작업 사본을 diff 한 다음에 뭐가 다른가 확인.
대충 10여분 코드 리뷰를 하는데 — diff에 대해서만 하니까 — 잘못된 곳을 못찾겠더라. 디버거를 들이대고 [...]
