内存单元化读取错误不同意Dissasembly

时间:2015-09-06 07:59:42

标签: c dr-memory

我有一个简单的循环,其目的是将(非常简单的)csv的一行拆分成列。 foor循环的相关部分如下:

for (size_t i = 0; i< csvRowReader->_currentRowTextLength; i++)
{
    char character = csvRowReader->_currentRowText[i];

    if (character == ',') { ... }
    ...
}

Memory博士报告了以下未初始化的阅读:

Error #1: UNINITIALIZED READ: reading register eax
         CsvRowReader_MoveNext
             c:\users\holli\projects\transporter\source\csv\csvrowreader.c(116):
         ...

现在试图诊断正在进行的操作,查看该行代码的反汇编:

   116:         if (character == ',')
00D4A40F  movsx       eax,byte ptr [ebp-35h]  
00D4A413  cmp         eax,2Ch  
00D4A416  jne         CsvRowReader_MoveNext+1F5h (0D4A545h) 

00D4A413,注册EAX的值为EAX = 0000006E。这是'n'

(char)(0x0000006E)
110 'n'

据我所知,eax在这种情况下'n'初始化了一个值。我最终试图弄清楚是什么导致了这个错误,任何帮助都非常感谢!

0 个答案:

没有答案