Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2009, 11:32   #1
Tapapax
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 16
Вопрос прога падает ровно(!) через 5 минут после старта

плииииииз, скажите с чем может быть связано
краткая инфа:

0) C++/CLI
1) Windows Forms project
2) присутствует работа с мускулом(MySQL)
3) не используются таймеры и прочи времязависящие вещи...

в коде нету ничего, что могло бы так ронять
а результат - "An unhandled exception..."
в C++/CLI я совсем новичок, может память не так выделяю...

UPD: правильно ли я понимаю, что выделив память gcnew, об удалении я могу не думать?

Последний раз редактировалось Tapapax; 11.11.2009 в 12:30.
Tapapax вне форума Ответить с цитированием
Старый 11.11.2009, 12:00   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Нужно думать, это ведь не .NET со своим сборщиком.
Hollander вне форума Ответить с цитированием
Старый 11.11.2009, 12:07   #3
Tapapax
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 16
По умолчанию

а разве управляемый С++ не содержит своего garbage collector? окей, попробую)

UPD: (!)я сейчас провел эксперимент... с более чем неожиданным результатом... за 15 секунд до падения(прога падает ровно через 5 минут после старта) поставил брейкпоинт в функции перерисовки и заставил окно перерисоваться (т.е. прога была остановленна на одной из инструкций). так вот, через 15 секунд она упала!=(((( без выполнения чего-либо

Последний раз редактировалось Tapapax; 11.11.2009 в 12:20.
Tapapax вне форума Ответить с цитированием
Старый 11.11.2009, 13:00   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Сорри, почему-то думал, что нету. Почитал - оказалось есть. А если не работать с SQL, тоже падает?
Hollander вне форума Ответить с цитированием
Старый 11.11.2009, 13:17   #5
Tapapax
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 16
По умолчанию

5 минут прошло, не упала)) спасибо, за совет проверить)
однако, пока все равно ничего не понятно.. каким образом она умудряется падать будучи остановленной на breakpoint'е??
но по крайней мере проблема частично локализованна.
Tapapax вне форума Ответить с цитированием
Старый 11.11.2009, 13:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
каким образом она умудряется падать будучи остановленной на breakpoint'е??
Такое бывает когда лажает некий поток проги.
Вот Мускул у тя в дополнительно поток вертится? проверь это - может он и лажает, а программа твоя нипричем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2009, 13:26   #7
Tapapax
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 16
По умолчанию

нет, они выполняюся в одном потоке на всякий случай сурц класса, с ним работающего:
Код:
class TMySqlOperator {
	public:
		TMySqlOperator() {
			myActive = false;
			myConnection = new MYSQL;
			myResulted = false;
		}
		
		~TMySqlOperator() {
			if (myResulted) mysql_free_result(myResult);
			if (myActive) mysql_close(myConnection);
			//delete myConnection; //похоже, что этого делать не нужно (софтина падает в ином случае), видимо, его удаляет mysql_close();
			myActive = false;
			myResulted = false;
		}
		
		bool Init(string Host, string Login, string Pass, string DB, string Port) {
			myHost = Host;
			myLogin = Login;
			myPass = Pass;
			myDatabase = DB;
			myPort = Port;
			
			myConnection = mysql_init(myConnection);
			if (!myConnection) return false;
			
	                      mysql_options(myConnection, MYSQL_SET_CHARSET_NAME, "utf8");

			MYSQL* tmpC = mysql_real_connect(myConnection, myHost.c_str(), myLogin.c_str(), myPass.c_str(), myDatabase.c_str(), 3306, NULL, 0);
			
			if (!tmpC) {
				char* rdfsf = mysql_error(myConnection);
				return false;
			}
			
			myActive = true;
			return true;
		}
		
		bool Query(const char* QString) {
			if (myResulted) {
				mysql_free_result(myResult);
				myResulted = false;
			}
			
			if (mysql_real_query(myConnection, QString, strlen(QString)) == 0) {
				myResult = mysql_store_result(myConnection);
				if (myResult) myResulted = true;
				return true;
			}
			
			return false;
		}
		
		MYSQL_ROW NextRow() {
			return mysql_fetch_row(myResult);
		}
		
		string myHost;
		string myLogin;
		string myPass;
		string myDatabase;
		string myPort;
		
		MYSQL* myConnection;
		bool myActive;
		
		MYSQL_RES* myResult;
		bool myResulted;
};
работаю через стандартную, идущую в комплекте с мускулом, библиотеку
Tapapax вне форума Ответить с цитированием
Старый 11.11.2009, 13:37   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы на твоем месте последовательно закомментировывал команды работающие с БД и выяснял на какой из них падежь.
или если есть возможность выяснил адрес инструкции которая лажает, и посмотрел (в отладчике) в каком модуле. какой функции она пренадлежит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.11.2009, 15:04   #9
Tapapax
Пользователь
 
Регистрация: 02.11.2009
Сообщений: 16
По умолчанию

окей, буду пробовать, всем большое спасибо за помощь)
Tapapax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прога выполняемая через определенный интервал Sparky Паскаль, Turbo Pascal, PascalABC.NET 2 17.10.2009 21:12
часы показывают m часов, n минут и k секунд. Каковы будут показатели часов через p часов, q минут и r сек Паскалька^^ Помощь студентам 3 11.10.2009 19:41
вирус - "реклама" 1000 посешений , выбивает через каждые десять минут на минуту igor35 Свободное общение 1 23.09.2009 20:34
Почему инди-компонента TIdTCPServer тормозит после десяти минут работы? alex-v Работа с сетью в Delphi 2 15.07.2008 19:02