|
|
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
Уже спрашивал в соседних топиках. Доделал всё, но иногда программы выполняет "недопустимую ошибку". Подскажите, где неправильно выделена память, либо использована? Буду очень признателен за помощь, самому ошибку мне не найти, т.к. в си я почти ноль. Этот кусок расшифровывает пароль из реестра. Код: plaintext 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. Код: plaintext 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. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 19:25 |
|
||
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
Вот чудик! Хоть бы указал строку , в которой ошибка возникает. Или предлагаешь всем заниматься бета-тестированием ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 19:49 |
|
||
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
maytonВот чудик! Хоть бы указал строку , в которой ошибка возникает. Или предлагаешь всем заниматься бета-тестированием ? Если бы я знал в какой строке вываливается ошибка. К тому же она вываливается не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2006, 19:54 |
|
||
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
Придраться можно... 1. Я не уверен, что в RegQueryValueEx() можно передавать буфер длиной N и длину N, _может быть_ надо застраховаться и указать длину N-1 (под закрывающий ноль). 2. Строка Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 12:59 |
|
||
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
Кривоватый код Код: plaintext 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. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 13:28 |
|
||
|
Ошибка выделения памяти
|
|||
|---|---|---|---|
|
#18+
Любознательный Если бы я знал в какой строке вываливается ошибка. К тому же она вываливается не всегда. Это очень просто. Даже если нет дебаггеров. Можно закомментировать фрагмент программы (желательно взять кусок из середины) и, пересобрав запустить. Если ошибка не возникла - значит она скрыла где-то в каментах. Дальше - методом половинного деления открываем каменты, и снова компилируем. Обычно за 10 таких тестов можно найти сбойную строку в исходнике из 1000 строк. С циклами - конечно посложнее, но тоже можно найти подход. Цикл можно рассматривать как маленький вложенный исходник. Еще лучше - отлаживатся в режиме DEBUG. В этом случае, среда разработки переключит исходники библиотечных классов в параноидально-безопасный режим с различными ASSERTS и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2006, 21:29 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34202909&tid=2029811]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
211ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 542ms |

| 0 / 0 |
