Ошибка чтения Dr Memory в унифицированном виде не согласуется с разборкой
У меня есть простой цикл, целью которого является разбиение строки (очень простой) CSV на столбцы. Соответствующий раздел цикла foor выглядит следующим образом:
for (size_t i = 0; i< csvRowReader->_currentRowTextLength; i++)
{
char character = csvRowReader->_currentRowText[i];
if (character == ',') { ... }
...
}
Доктор Память сообщает следующее неинициализированное чтение:
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'
, Я в конце концов пытаюсь выяснить, что является причиной этой ошибки, любая помощь будет принята с благодарностью!