Форум программистов, компьютерный форум CyberForum.ru

Обнаружение ошибок работы с памятью - C++

Восстановить пароль Регистрация
 
amatorIP
 Аватар для amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
02.01.2011, 22:40     Обнаружение ошибок работы с памятью #1
Подскажите как находить и устранять такого рода ошибки?
Миниатюры
Обнаружение ошибок работы с памятью  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2011, 22:40     Обнаружение ошибок работы с памятью
Посмотрите здесь:

C++ Средства для контроля работы с динамической памятью
Программой, содержащая класс, структуры и функции работы с файлами. Синтаксических ошибок нет, но работа прерывается и ничего не выводится на экран. C++
C++ Обнаружение USB устройств с последующим их безопасным извлечением
C++ Обнаружение повторяющихся цифр в массиве
C++ Разобраться в принципе работы задачч. (Работа с динамической памятью через указатели. )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Минич
 Аватар для Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
02.01.2011, 22:43     Обнаружение ошибок работы с памятью #2
Отладчиком не пробовал пользоваться?! Хорошая вещь!
Merlin666
 Аватар для Merlin666
96 / 96 / 10
Регистрация: 26.12.2010
Сообщений: 220
02.01.2011, 22:44     Обнаружение ошибок работы с памятью #3
Посмотри, где ты используешь нулевой указатель или указатель на другой адрес
amatorIP
 Аватар для amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
03.01.2011, 00:52  [ТС]     Обнаружение ошибок работы с памятью #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("MainWindow.cpp", MainForm);
USEFORM("AddWindow.cpp", AddElement);
USEFORM("Module.cpp", DataModule1); /* TDataModule: File Type */
USEFORM("FrameDB.cpp", Frame_DB); /* TFrame: File Type */
USEFORM("N_Project.cpp", NewProject);
USEFORM("WConToBD.cpp", WinForBD);
USEFORM("EditWindow.cpp", EditElement);
USEFORM("AddElementSecBD.cpp", AddElNewOrBD);
USEFORM("ChoiceSpectrum.cpp", Spectrum);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TMainForm), &MainForm);
                 Application->CreateForm(__classid(TAddElement), &AddElement);
                 Application->CreateForm(__classid(TDataModule1), &DataModule1);
                 Application->CreateForm(__classid(TNewProject), &NewProject);
                 Application->CreateForm(__classid(TWinForBD), &WinForBD);
                 Application->CreateForm(__classid(TEditElement), &EditElement);
                 Application->CreateForm(__classid(TAddElNewOrBD), &AddElNewOrBD);
                 Application->CreateForm(__classid(TSpectrum), &Spectrum);
                 Application->Run();
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}
//---------------------------------------------------------------------------
Указывает на 29-ю строку.
Я не пойму как посмотреть где я использую нулевой указатель.
У меня познания в программировании довольно слабенькие, поэтому простые вопросы бываю проблематичными(
Подскажите может где написано хорошо. Так с большим удовольствием почитаю.
Спасибо.
Yandex
Объявления
03.01.2011, 00:52     Обнаружение ошибок работы с памятью
Ответ Создать тему
Опции темы

Текущее время: 13:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru