![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
Есть значит следующий код, который уже заставляет меня лезть на стену
На данный момент этот код успевает выполниться только полтора раза, т.к. при втором проходе malloc вышибает... Подскажите, в чем может быть проблема? --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| nostromo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 23.3.2006 Репутация: нет Всего: 10 |
1. Чему равен sizeof(someType)?
2. После первого прохода inst not NULL ? Добавлено @ 14:27 Да, и что собственно означает "код вышибает"? Какая именно ошибка? --------------------
На пыльных тропинках далеких планет останутся наши следы. |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
1. 20
2. Да Ошибка из разряда "Обнаружена ошибка , приложение будет закрыто" ). Пишется собственно плагин-дллка для проги lightwave3d, так что как в дебаг ее запустить не представляю. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: 8 Всего: 24 |
А разве не надо делать явное приведение к someType* при вызове malloc'а?
|
|||
|
||||
| nostromo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 23.3.2006 Репутация: нет Всего: 10 |
Если под MS Visual Studio, то Tools -> Debug Processes, выбираешь lightwave, жмешь Attach и все точки останова работают. --------------------
На пыльных тропинках далеких планет останутся наши следы. |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
nostromo, а если visual MinGW ? =)
Блин, я уже просто незнаю что делать. Пробовал принимать указатель от malloc в другую переменную, пробовал вместо sizeof ручками число ставить... натуральное шаманство... результат все тот же --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
А не пробовал обнулять переменную после освобождения?
Очень похоже на повторное освобождение. Оно разрушает хип, после чего вылетает malloc... -------------------- ... |
|||
|
||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
Earnest, пробовал.
Но если повторное освобождение может быть причиной такого поведения маллока, буду копать в этом направлении. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 3 Всего: 317 |
1. насчет дибажить неизвестное, насколько имхо позволяет мне выражаться, gdb прекрасно присасывается к бегущему процессу. man gdb тебе в руки.
2. насчет молока... ты после каждого фри делай ptr=NULL, так, на всякий случай вонючий. 3. насчет проекта: ты когда компиляешь, запускай компилятор в супер болтливом режиме, чтобы он тебе все что ему, его маме и его деду не нравится и не нравилось - тебе говорил. напр, если с ANSI проблем нет, попробуй: gcc -ansi -pedantic -Wall file.c и тогда может тебе компилятор намекнет... сам. 4. не обижайся, но ... ты случайно сам inst не освободил ? ну т.е. я бы этот код заключил бы в:
Это сообщение отредактировал(а) bilbobagginz - 20.4.2006, 17:01 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Doc_d0s |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 15.12.2004 Где: в кресле Репутация: 2 Всего: 3 |
приводи тип к someType
--------------------
Админ- это вождь Apache'й :) |
|||
|
||||
| Rpahut |
|
||||||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
Похоже к тому все и идет...
я уже проверяю все что нужно и что ненужно, реорганизовал сейчас вообще выделение памяти, по идее должно теперь автоматически проверяться и обнуляться
Пробовал. Вроде как приведение типов на код не влияет? В любом случае, не помогло. Пойду ковырять дальше, о результатах доложу =) --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
||||||
|
|||||||
| Rpahut |
|
|||
![]() 0xdeadbeef ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 9.4.2006 Репутация: 2 Всего: 7 |
Как и следовало ожидать, дело было не в бобине...
Аккуратно прошелся по выделению и освобождению памяти, подправил где нашел неточности, в результате все заработало (почти) как нужно. Думаю, вопрос можно считать решенным. Всем спасибо. --------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |