|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
PavluhaНет, до этого момента ошибок нет. они просто не проявились ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 11:43 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Pavluha... но я уверен ошибки периодически возникают Отсюда вопрос, чем это грозит?Грозить это может потерей данных. Для понимания что, где и когда может ломаться, приводите весь код с первого вызова, до того, где происходит ошибка. И ещё конечно, объявления функций библиотеки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 13:15 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Alex KuznetsovFactorize Factorizeпропущено... Не советуйте человеку всякие методы написания извращенного кода. Типичный bad practice.Поясните, пожалуйста, почему же это будет методом написания извращённого кода, и как Вы определили, что это "Типичный bad practice" ? Хочется узнать экспертное мнение. Хочется узнать ответ именно от Вас, а не отсылания в гугл и т.д. Может чего нового для себя открою. За такой код нужно бить по рукам. Использование byte вместо int - это потенциальный баг замедленного действия. Системы имеют свойство развиваться, и за byte значение рано или поздно переползет. Я не раз и не два видел такой баг в продакшене. Второе - использование byte наведет на мысль, что она для чего-то тут нужен, только сбивает столку. Вы пишите, что это стрельба по воробьям - но в чем она состоит то? Это микрооптимизация. Что она есть, что ее нет - все работает одинаково. За такие оптимизации на языках высокого уровня, если они проводятся без особой надобности, нужно бить по рукам. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 18:29 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
PavluhaВот добился я, что на моей машине все работает корректно, но толку. Пошел на 32 разрядную винду, запустил и все фатал полный. Что за х... Блин, да это стопудофф с разрядностью у вас нелады. Проверьте, чему у вас равен авторIntPtr.Size.. IntPtr - это коварный тип, внутри сидит указатель разного размера. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2014, 18:43 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Factorize...Использование byte вместо int - это потенциальный баг замедленного действия. Системы имеют свойство развиваться, и за byte значение рано или поздно переползет. Я не раз и не два видел такой баг в продакшене. Да, такое возможно, только тогда нужно избавиться от магических чисел [1..6] в коде, т.е. переработать немного архитектуру. FactorizeВторое - использование byte наведет на мысль, что она для чего-то тут нужен, только сбивает столку. Вы пишите, что это стрельба по воробьям - но в чем она состоит то? Это микрооптимизация. Что она есть, что ее нет - все работает одинаково. За такие оптимизации на языках высокого уровня, если они проводятся без особой надобности, нужно бить по рукам. Про микрооптимизацию согласен, исследования ассемблерного кода вот такого примера: Код: pascal 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.
Посему признаю свою ошибку. Честно, думал, что для вычисления адреса просто применят add . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2014, 09:15 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
У коллег использующих библиотеку возникла ошибка чтения\записи в защищенную память при запуске проекта, как релиз. Но, если запустить проект по админом ошибки нет. =-O С чем это может быть связано? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 13:41 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Я нашел откуда ноги растут: Вот этот метод бьет память: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Если закомментарить этот кусок кода: Код: c# 1. 2.
То ошибки не возникает, но тогда я память не освобождаю. Как быть? В дебаге на этих методах происходит ошибка: This may be due to a corruption of the heap, which indicates a bug in or any of the DLLs it has loaded. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 14:42 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Pavluha, pfield - можно и освободить. с pstr - дела хуже, маловероятно, что GetFldStr возвращает память, выделенную GlobalAlloc значит будет утекать ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 14:48 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Изопропил, Как я понял, беда вообще в том, что я пустую строку передаю, от этого и все проблемы. Вот описание метода 2-й параметр вообще непонятно что такое и что в него передавать. Если я правильно понимаю, то ссылку на обл куда будет сохранено значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 15:00 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Pavluha2-й параметр вообще непонятно что такое и что в него передавать. Если я правильно понимаю, то ссылку на обл куда будет сохранено значение. как раз теперь понятно - это блок памяти, в который помещается результат и адрес этого блока возвращается функцией выделить память под второй параметр с запасом, вызвать, проверить результат на Zero, скопировать строку, освободить память(один единственный раз) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 15:44 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
Изопропил, Так и сделал, все заработало. Просто есть методы, которые возвращаю буфер макс размером 32000. И сколько под такое резервировать тогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 15:55 |
|
Попытка чтения или записи в защищенную память.
|
|||
---|---|---|---|
#18+
PavluhaИзопропил, Так и сделал, все заработало. Просто есть методы, которые возвращаю буфер макс размером 32000. И сколько под такое резервировать тогда? если узнать заранее невозможно - всегда резервируйте максимум 32000 - это не так много PS ну и освобождать нужно в блоке finally ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2014, 16:22 |
|
|
start [/forum/topic.php?fid=20&msg=38648898&tid=1402825]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 138ms |
0 / 0 |