Вылетает Cgi…
Я пишу CGI на С++ (Данный проект подходит к концу и переходить на другие языки или технологии я не собираюсь). Так как проблема достаточно необычная - я не был уверен, стоит ли задавать такой сложный вопрос на форуме. Но все же решил, может кто-то сможет мне помочь.
Вся проблема в том, что CGI некорректно завершается. А именно: Сам код написан абсолютно правильно, но при запуске, CGI вылетает, при этом в браузере отображается часть страницы(HTML), которую сгенерировал данный CGI. При отладке я заметил, что данный CGI вылетает именно на return 0;, который находится в самой функции main(); (т.е. при выходе из функции main()) Самое интересное, если я вместо return 0 использую exit(0), то все работает правильно. Т.е. ничего не вылетает, и все отображается правильно.
В чем может быть здесь проблема?
Заранее благодарен за ответы!
попробуй void main(...) вместо int main(...) вдруг поможет, хотя я и не уверен
Цитата:
Originally posted by birkoff
который находится в самой функции main(); (т.е. при выходе из функции main()) Самое интересное, если я вместо return 0 использую exit(0), то все работает правильно. Т.е. ничего не вылетает, и все отображается правильно.
который находится в самой функции main(); (т.е. при выходе из функции main()) Самое интересное, если я вместо return 0 использую exit(0), то все работает правильно. Т.е. ничего не вылетает, и все отображается правильно.
Может быть все-таки со стеком что-то не так, return берет адрес возврата именно оттуда. А exit, возможно нет.
Я уже разобрался. Проблема была в освобождении дважды одного и того же участка памяти (в базовом и наследующем классе)
Цитата:
Originally posted by birkoff
Я уже разобрался. Проблема была в освобождении дважды одного и того же участка памяти (в базовом и наследующем классе)
Я уже разобрался. Проблема была в освобождении дважды одного и того же участка памяти (в базовом и наследующем классе)
Ага. Только хотел посоветовать искать утечку памяти.