[영어] Caveat emptor

분류없음 2009.01.12 15:01
경고, 주의 정도의 의미로 사용된다. 자신이 만들어 놓은 프로그램 등에 문제가 발생할 소지가 있을 경우 미리 주의를 줄 경우에 사용된다. Disclaimer와 비슷하지만, 약간 의미가 다르다. Disclaimer는 있을지도 모르는 위험에 대한 경고인 반면, "Caveat emptor" 이후에는 이미 알려진 위험을 기술하는 경우가 많다. 그럼에도 불구하고 모든 위험을 감수하고라도 사용하려면 사용하라는 의미이다.

Posted via email from bugtruck's posterous


Dumping Kernel Service Table From Windbg

분류없음 2009.01.12 14:19

You can use following commands from windbg to dump system service table nicely. Of course, you need to be connected to remote system kernel or load kernel dump file.

Dumping KeServiceDescriptorTable

0:kd> dds poi(nt!KeServiceDescriptorTable) L poi(nt!KeServiceDescriptorTable+8)

808341b0 8092023a nt!NtAcceptConnectPort

808341b4 8096b71e nt!NtAccessCheck

808341b8 8096f9be nt!NtAccessCheckAndAuditAlarm

...

80834640 80994ea4 nt!NtWaitForKeyedEvent

80834644 80944e6c nt!NtQueryPortInformationProcess

80834648 8094546e nt!NtGetCurrentProcessorNumber

8083464c 809390f8 nt!NtWaitForMultipleObjects32



Dumping KeServiceDescriptorTableShadow

0:kd> dds poi(nt!KeServiceDescriptorTableShadow+10) L poi(nt!KeServiceDescriptorTableShadow+18)

bf9a3000 bf92bf8c win32k!NtGdiAbortDoc

bf9a3004 bf941589 win32k!NtGdiAbortPath

bf9a3008 bf818ddf win32k!NtGdiAddFontResourceW

bf9a300c bf936c02 win32k!NtGdiAddRemoteFontToDC

...

bf9a3a50 bf9515d6 win32k!NtGdiBRUSHOBJ_DeleteRbrush

bf9a3a54 bf94ec39 win32k!NtGdiUMPDEngFreeUserMem

bf9a3a58 bf944082 win32k!NtGdiDrawStream

bf9a3a5c bf9459a0 win32k!UMPDDrvQuerySpoolType

bf9a3a60 bf929d4d win32k!NtGdiMakeObjectUnXferable

Posted via email from bugtruck's posterous


Dumping NT_TIB

분류없음 2009.01.12 14:19

When a thread is crashed without any clue at all(eg. all registers are set to invalid value or something), you might try to get stack trace by manually pointing esp/ebp to some probable value inside stack. In that case, you need to get valid stack range. It can be achieved with following windbg command. Check out StackBase,StackLimit field from NT_TIB structure.

0:005> dt -r ntdll!_NT_TIB poi(fs:18h)

+0x000 ExceptionList : 0x01c3ac88 _EXCEPTION_REGISTRATION_RECORD

+0x000 Next : 0x01c3fecc _EXCEPTION_REGISTRATION_RECORD

+0x000 Next : 0x01c3ff2c _EXCEPTION_REGISTRATION_RECORD

+0x004 Handler : 0x7e44048f _EXCEPTION_DISPOSITION user32!_except_handler3+0

+0x004 Handler : 0x7e44048f _EXCEPTION_DISPOSITION user32!_except_handler3+0

+0x004 StackBase : 0x01c40000

+0x008 StackLimit : 0x01c2c000

+0x00c SubSystemTib : (null)

+0x010 FiberData : 0x00001e00

+0x010 Version : 0x1e00

+0x014 ArbitraryUserPointer : (null)

+0x018 Self : 0x7ffd9000 _NT_TIB

+0x000 ExceptionList : 0x01c3ac88 _EXCEPTION_REGISTRATION_RECORD

+0x000 Next : 0x01c3fecc _EXCEPTION_REGISTRATION_RECORD

+0x004 Handler : 0x7e44048f _EXCEPTION_DISPOSITION user32!_except_handler3+0

+0x004 StackBase : 0x01c40000

+0x008 StackLimit : 0x01c2c000

+0x00c SubSystemTib : (null)

+0x010 FiberData : 0x00001e00

+0x010 Version : 0x1e00

+0x014 ArbitraryUserPointer : (null)

+0x018 Self : 0x7ffd9000 _NT_TIB

+0x000 ExceptionList : 0x01c3ac88 _EXCEPTION_REGISTRATION_RECORD

+0x004 StackBase : 0x01c40000

+0x008 StackLimit : 0x01c2c000

+0x00c SubSystemTib : (null)

+0x010 FiberData : 0x00001e00

+0x010 Version : 0x1e00

+0x014 ArbitraryUserPointer : (null)

+0x018 Self : 0x7ffd9000 _NT_TIB

Posted via email from bugtruck's posterous


[유머] 26년 만에 큐브 맞춘 사나이

분류없음 2009.01.12 13:50
큐브 맞추는 데에 26년이 걸렸답니다. 이 기사 보고 한순간 제가 잘 못 읽었나, 아니면 내가 알고 있는 그 큐브 장난감이 맞나 의심했습니다. 어쨌든 대단한 정신인듯...
 

Posted via email from bugtruck's posterous


[맥] 맥용 구글 크롬 출시(2009년 중반)

분류없음 2009.01.12 13:48
2009년 중반이면 맥/리눅스용 구글 크롬이 나온다고 합니다.
 
 
맥에서도 조금더 빠른 브라우징이 가능하겠군요.
 
단지 불편한 점은 구글 크롬에 구글 툴바가 없다는 것 정도??

Posted via email from bugtruck's posterous


게임 때문에 존속 살인을

분류없음 2009.01.12 13:38
흠, 자식 키우는 입장에서 섬찟합니다. 저도 엄한 아버지 밑에서 자랐지만, 죽인다라거나 하는 개념 조차도 상상할 수 없는 일이었는데... 우리 애들도 게임을 미리 미리 자제 시켜야 되는 것이 아닌가 싶네요.
 
 
게임 못하게 했다고 아버지 권총으로... 그것도 아버지 어머니한테 "깜짝 선물이 있으니까 눈 감아 봐요"라고 말하고는 죽였다라는 것이 정말 섬뜻하네요.
 
예전에 엑박 게임기 망쳐 놨다고 자기 갓난 애기 때려 죽인 사람도 있었죠...
 
이제 부터는 "부모 모시기 게임" 이런 걸 어디서 구해다가 시켜야겠습니다.

Posted via email from bugtruck's posterous


[개짓(Gadget)] 소니 VAIO P만 포켓에 넣을 수 있는 것이 아니다

분류없음 2009.01.12 13:33
이거 보다가 웃겨서 죽는 줄 알았습니다.
 
 
 
^^;;;;;

Posted via email from bugtruck's posterous


[맥] 맥 오에스 엑스 vs 맥 오에스 텐

분류없음 2009.01.12 12:34
맥을 최근 1년 사이에 처음 접한 나로서는 "Mac OS X"가 당연히 "맥 오에스 엑스" 인줄로 알았다. X의 의미가 10번째를 의미하고 있다는 것을 상상하지 못했던 것이다. 이전 버전을 사용한 사람들은 당연히 아는 내용이었을 것이다. 그런데 어쩌다가 찾아 보니 "Mac OS X"의 정식 발음은 "맥 오에스 텐"이다. 그러고 보니 한 10년 쯤 전에 친구가 System 7 어쩌고를 사용했었다는 것이 퍼뜩 떠올랐다.

What is an operating system (OS)?

The current version of Mac OS is Mac OS X (pronounced "Mac O-S ten"). Earlier versions of Mac OS included Mac OS 9, Mac OS 8, System 7.5, and System 6. Major releases of Mac OS X include versions 10.0, 10.3, and 10.4. There are also updates (sometimes called "dot" releases) for each major release, such as versions 10.2.8 and 10.4.2. If you don't have Mac OS X and want to get it, be sure your computer can work with it, then visit this website for more information about upgrading.
 
 
그러고 보면 "Windows 7"도 그렇고, 갑자기 메이저 버전명을 오에스 이름에 쓰는 것이 유행이 되어 가는 것 같다. 어쩐지 숫자가 올라 갈수록 무엇인가 좋아진 것 같아서 뿌듯하기도 하고. "Windows 7" 쓰다가 "Windows 8" 나왔다고 그러면 갑자기 바꾸고 싶은 생각이 들지 않겠는가?

Posted via email from bugtruck's posterous


ADPlus로 ISAPI 모듈 디버깅하기

분류없음 2009.01.12 12:05
ISAPI filter를 요즈음에 보고 있는데, 이 놈이 원래 필터 프레임워크 자체에 버그도 많고 원하는 대로 작동하지 않는 경우가 많다. 특히 IIS5에서는 정말 문서에 나온 것과는 상관 없는 행동을 많이 하고는 한다. 그래서 만약 ISAPI 필터가 자꾸 죽거나 하는 경우 크래쉬 덤프를 간단하게 얻을 수 있는 방법을 알아 보았다.
 
일단  Debugging tools for windows(http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx) 를 다운로드 해서 해당 시스템에 인스톨한다.
 
커맨드 프롬프트 상에서 다음을 실행한다.

windbg 디렉토리로 이동한다.: cd "%ProgramFiles%\Debugging Tools for WINDOWS (x86)"

adplus를 실행한다: cscript adplus.vbs -crash -pn w3wp.exe

이제 만약 IIS가 ISAP 때문에 크래쉬 되거나 하면 메모리 덤프를 얻을 수 있다. 바로 같은 디렉토리에 .dmp 파일로 생성된다.

Posted via email from bugtruck's posterous


[영어] 한국인과 수개념

분류없음 2009.01.12 11:47
메일 작성이나 글을 작성할 때에 항상 하는 실수가 있다. 바로 수에 대한 개념을 빼 먹는 것이다.
즉 "an apple" 아니면 "apples" 또는 "the apple", "the apples" 중의 하나가 되어야 하는데, 그냥 "apple"이라고 적는 경우이다. 분명히 여러 개를 의미하는데 "s"를 빼먹는 경우도 너무 많다. 그것은 아마도 내가 한국인이어서가 아닌가 싶다. 한국어에는 수의 개념이 당연히 있지만, 굉장히 느슨하다. 또는 다수를 의미할때에 조차도 다수를 의미하는 "들"을 붙이면 문장이 오히려 어색해지는  경우가 더 많다.
 
그래서 항상 영어로 쓰거나 말할 때에는 항상 문장에 수의 개념을 넣는 것을 잊지 않기 위해서 노력한다. 내가 무슨 말을 하다가 수의 개념을 문장에 포함 시키지 않으면 얘네들은 약간 문장이 이상하다는 것을 바로 알아 채고, "a"를 붙여 주거나 "s"를 뒤에 붙여 준다 ^^;;; "a" 아니면 "s" 중의 하나를 꼭 사용해야 한다라고 스스로 각인해 보는 것도 좋을 것이다. 물론 "the"와 같은 정관사를 사용하는 경우는 또 따로 있는데, 그것은 솔직히 문법도 있겠지만 일종의 감인 것 같다. 어차피 언어가 감이니까 -_-
 
정관사에 대한 연구는 다음에 다시 정리해 보아야 할듯 하다.

Posted via email from bugtruck's posterous

티스토리 툴바