WinDbg:what does ??? mean for char*: will it cause program crash: how to avoid it

-1

WinDbg: what what does: "??? mean for char*" in windbg crash stack: will it cause system crash What check should I add to avoid it. Below is line coredump: char * d = 0x00000000`0985fbd8 " ???"

0:001> dx -r1 ((binary!char *)0x985fbd8)
((binary!char *)0x985fbd8)                 : 0x985fbd8 : " ???" [Type: char *]

My code was having checks of: if(d!=NULL) {

} But this issue seems to be due to content of char* is corrupt. How can I avoid this issue?

code snippet:

#define BUCK_MAGIC 0x4255434b  /* "BUCK"   */

 typedef struct {
   Card     buck_magic;
   Card     buck_size;
   Card     buck_used;
   List_obj **  buck_list;
 } Bucket;



static Bucket *_get( Ptr d )
{
   Bucket *hb;
   hb = *(Bucket **)d;

    if ( hb->buck_magic == BUCK_MAGIC ) return(hb);
   return(0);

}
windbg
crash-dumps
asked on Stack Overflow Sep 22, 2020 by jon • edited Oct 6, 2020 by jon

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0