Re: [HACKERS] Win32 WEXITSTATUS too
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Win32 WEXITSTATUS too |
Дата | |
Msg-id | 200701231532.l0NFWw906526@momjian.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Win32 WEXITSTATUS too ("Takayuki Tsunakawa" <tsunakawa.takay@jp.fujitsu.com>) |
Ответы |
Re: [HACKERS] Win32 WEXITSTATUS too
|
Список | pgsql-patches |
Takayuki Tsunakawa wrote: > From: "Magnus Hagander" <magnus@hagander.net> > > Are you entirely sure that ntstatus.h is where to look? Because per > > whatever docs I've found, that contains "device driver errors" and > *not* > > exception codes. > > Yes, what you are pointing out is correct. winbase.h and winnt.h > should be consulted instead of ntstatus.h. See the the section > "Return Value" in the following page: > > http://msdn2.microsoft.com/ru-ru/library/ms679356.aspx Well, it seems to be in two place. I see at: http://www.microsoft.com/msj/0197/exception/exception.aspx The ExceptionCode parameter is the number that the operating system assigned to the exception. You can see a list of various exception codes in WINNT.H by searching for #defines that start with "STATUS_". For example, the code for the all-too-familiar STATUS_ACCESS_VIOLATION is 0xC0000005. A more complete set of exception codes can be found in NTSTATUS.H from the Windows NT DDK. And it seems Wine also has it in both places. The nice thing about ntstatus.h is that it _only_ contains exception values, rather than winnt.h, which has lots of other stuff too. > Furthermore, the message is meaningless for users because they can do > nothing with the information. So, I think the message should say > something like > > child process was terminated by exception %X > This seems to be a bug of PostgreSQL. > Please report this message with the details of the phynomenon to > PostgreSQL developers. I am hoping some of the hex values will have descriptions that will help users solve problems in their operating system configuration, rather than asking us. If they are in a crisis, asking the community might not be quick enough. FYI, here is a patch that recommends ntstatus.h: http://blog.opsan.com/archive/2005/05/05/447.aspx http://www.osronline.com/article.cfm?article=207 This says you can get text for exceptions, but it didn't work for me, but I didn't try loading ntdll.dll: http://support.microsoft.com/kb/259693 -- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
В списке pgsql-patches по дате отправления: