591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
1

Ошибка времени выполнения

30.08.2009, 14:12. Показов 4383. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я пишу проэкт в Visual Studia 2008 на C++. У меня есть несколько проблем.
Во-первых, когда я собираю финальную версию (release) и запускаю не выполнение, то появляется ошибка:
Код
Unhandled exception at 0x00402330 in chtml.exe: 0xC0000005: Access violation reading location 0x00000000.
вот в этом месте
C++
1
2
3
4
5
6
7
8
int main( int argv, char *argc[] )
{
#if ! LINUX
    setlocale( LC_ALL, ".1251" );
#endif
    ConvertToHtml html;
    if( !strcmp(argc[1], "-h") || !strcmp(argc[1], "--help") )
    {
Если собирать отладочную версию (debug), то этого сообщения не появляется. Тут что-то связано с правами доступа, наверно. Как от этого избавиться?
Во-вторых, если собирать отладочную версию и запустить, то после выполнения VS выдаёт ошибку:
Код
Run-Time Check Failure #2 - Stack around the variable 'html' was corrupted.
Если понадобится, то вывешу код (я просто не знаю место возникновения ошибки).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2009, 14:12
Ответы с готовыми решениями:

Ошибка времени выполнения.
Вот код: void Add_Kod ( _kod*& KodBuf, int a, char* buf, char* buf2) { if(a==1) { KodBuf...

Ошибка времени выполнения (terminate)
вот этот код // на всякий случай привожу весь код, // т.к. не понимаю что именно вызывает...

Почему происходит ошибка времени выполнения?
прошу помощи в поиске ошибки! уже 2часа пытаюсь найти и никак... Тоже задание по структуре. над...

Ошибка времени выполнения Не могу понять как победить
Привет всем. Вот написал тут нехитрый код для считывания и записи файлов. При компиляции ошибок нет...

7
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
30.08.2009, 14:31 2
Код
if( !strcmp(argc[1], "-h") || !strcmp(argc[1], "--help") )
А аргументы передаются? Иначе argc[1] будет ссылаться на неизвестное место.
1
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
30.08.2009, 14:34  [ТС] 3
Точно! В release версии VS не передаёт аргументы. Спасибо! А что со вторым вопросом?
0
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
30.08.2009, 15:09 4
Цитата Сообщение от RazorQ Посмотреть сообщение
А что со вторым вопросом?
Посмотреть бы что такое ConvertToHtml и что оно делает с html.

Кстати, список параметров обычно передают в *argv[] (от argument vector), а их количество в argc (от argument count), а не наоборот.
0
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
30.08.2009, 15:21  [ТС] 5
Цитата Сообщение от Gravity Посмотреть сообщение
Посмотреть бы что такое ConvertToHtml и что оно делает с html.
ConvertToHtml - это класс, который занимается переводом исходных текстов программ в файл html (с подсветкой синтаксиса).
html - это объект этого класса, который я создаю в начале программы и, исходя из параметров, открываю через функцию open() входной и выходной файл. Дальше этот объект варится сам в себе, проводя преобразование файла и по окончанию возвращает управление функции main(). Она завершает всю программу.

Цитата Сообщение от Gravity Посмотреть сообщение
Кстати, список параметров обычно передают в *argv[] (от argument vector), а их количество в argc (от argument count), а не наоборот.
спасибо буду занть. Сразу как-то не запомнил.
0
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
30.08.2009, 15:25 6
Цитата Сообщение от RazorQ Посмотреть сообщение
ConvertToHtml - это класс, который занимается переводом исходных текстов программ в файл html (с подсветкой синтаксиса).
Нужно внимательно смотреть нет ли там выхода за допустимые пределы памяти, потому что "stack corrupted" наверняка происходит из-за этого.
1
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
30.08.2009, 16:00  [ТС] 7
Вообще эта ошибка появляется только в дебажной версии, так что это второстепенный вопрос. Вот исходные тексты (проэкт VS и просто исходники), если будет желание, просмотрите пожалуйста. Тем, кто решит воспользоваться исходными текстами: в них много ошибок. Это не специально, просто я ещё не закончил программу.
Вложения
Тип файла: zip vs2008.zip (2.19 Мб, 18 просмотров)
Тип файла: zip source.zip (5.9 Кб, 15 просмотров)
0
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
30.08.2009, 18:34 8
Посмотрел исходники. Как и говорил, есть выход за пределы массива в ConvertToHtml::power(), в цикле чтения файла происходит переполнение token. Надо задавать размер больше 40 или как-то периодически освобождать массив.
1
30.08.2009, 18:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2009, 18:34
Помогаю со студенческими работами здесь

Ошибка времени выполнения при использовании функции scanf_s
Есть код создания библиотеки книг, это его часть. Если потребуется могу скинуть весь код, но он без...

Почему происходит ошибка времени выполнения в решении задачи "Ход конем"?
Добрый день! Я попытался решить одну задачку о шахматах. Проблема в том, что моя программа...

Полиморфизм времени выполнения/времени компиляции
Здравствуйте, подскажите, пожалуйста, литературу, где мне внятно можно узнать что такое полиморфизм...

Оптимизация времени выполнения
Доброго времени суток. Есть следующая задача. Задача олимпиадная, потому учитывается время...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru