Snoop seems to me to be an incredibly useful tool, when it doesn't crash.
Attached is a patch that removes some of the functionality from snoop, but makes it crash less. Unfortunately, I still get a lot of crashes preceeded by the failure of the assert ordinal < nrofordinals in SNOOP_GetProcAddress. I tried to prevent this by adding an if statement there and returning zero if ordinal > nrofordinals, but that didn't stop the crashes. Does anyone have any idea how to fix this? Does anyone know why the ordinal number or the number of ordinals would wrong?
--- snoop.c Mon Mar 4 17:22:34 2002 +++ snoop.c.mbc Mon Mar 4 17:20:58 2002 @@ -214,10 +214,10 @@ int i,nostring; char * volatile ret=0; - if ( !HIWORD(x) ) { /* trivial reject to avoid faults */ + //if ( !HIWORD(x) ) { /* trivial reject to avoid faults */ sprintf(buf,"%08lx",x); return buf; - } + // } __TRY{ LPBYTE s=(LPBYTE)x; i=0;nostring=0;