Size: a a a

2021 February 19

DK

David Kravets in supapro.cxx
Побитый Кирпич
Значит кодинг это программирование + кликание по клавиатуре, то есть кодер круче программиста?
Кодинг не есть в полной мере программирование это ее часть
источник

ПК

Побитый Кирпич... in supapro.cxx
Илья
Кому нужны алгоритмы без кода?
И тем кто придумывает алгоритмы на основе других
источник

DS

Dmitry Shulga in supapro.cxx
Побитый Кирпич
Посмотри в отладчике чему равен proxy и что под ним лежит
Отладка на удаленной клиентской машине средствами создания краш дампа, нет возможности читать память в этом случае, vs при анализе не дает понять, валиден ли proxy на момент вылета. Разве возможна ситуация, что if(proxy) проходит проверку, а команду спустя обращение к члену структуры уже крашит? Переменная создана в этом потоке и живет только в нем, другие доступа не имеют и деструктор только на завершении потока срабатывает.
источник

DK

David Kravets in supapro.cxx
Liber Azerate
А я-то думал программирование это процесс написания программ...
Ну ты правильно думал, это одно и тоже 😊
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
Отладка на удаленной клиентской машине средствами создания краш дампа, нет возможности читать память в этом случае, vs при анализе не дает понять, валиден ли proxy на момент вылета. Разве возможна ситуация, что if(proxy) проходит проверку, а команду спустя обращение к члену структуры уже крашит? Переменная создана в этом потоке и живет только в нем, другие доступа не имеют и деструктор только на завершении потока срабатывает.
Что по твоему значит if (proxy)?
источник

LA

Liber Azerate in supapro.cxx
David Kravets
Ну ты правильно думал, это одно и тоже 😊
Правда что ли? А я думал написание алгоритмов и программирование разные вещи
источник

DS

Dmitry Shulga in supapro.cxx
Побитый Кирпич
Что по твоему значит if (proxy)?
проверка на nullptr
источник

DK

David Kravets in supapro.cxx
Dmitry Shulga
проверка на nullptr
👍
источник

T

Ternvein in supapro.cxx
Dmitry Shulga
проверка на nullptr
Не всё, что невалидно — nullptr.
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
проверка на nullptr
int* ptr = (int*)1;

if (ptr) { *ptr = 1; }
Чо будет?
источник

DS

Dmitry Shulga in supapro.cxx
крашнет видимо на разыменовании ptr?
источник

DS

Dmitry Shulga in supapro.cxx
по адресу 1
источник

T

Ternvein in supapro.cxx
Побитый Кирпич
int* ptr = (int*)1;

if (ptr) { *ptr = 1; }
Чо будет?
Можно ближе к реальности:
int* ptr;
*ptr = 0;
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
крашнет видимо на разыменовании ptr?
Другой пример:
int* get_int_ptr() { int i; return &i; }

int* ptr = get_int_ptr();
if (ptr) { cout << *ptr; }
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
крашнет видимо на разыменовании ptr?
Но я же проверку сделал
источник

DS

Dmitry Shulga in supapro.cxx
Побитый Кирпич
Но я же проверку сделал
хорошо, спасибо, я понял свою ошибку. Но все же, если есть уверенность, что указатель не мог в коде меняться - возможна ли проблема где-то извне, не знаю правда где...
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
хорошо, спасибо, я понял свою ошибку. Но все же, если есть уверенность, что указатель не мог в коде меняться - возможна ли проблема где-то извне, не знаю правда где...
Всё возможно, но вероятность этого мала.

Чтобы это пофиксить советую в первую очередь воспроизвести ошибку
источник

DS

Dmitry Shulga in supapro.cxx
Побитый Кирпич
Всё возможно, но вероятность этого мала.

Чтобы это пофиксить советую в первую очередь воспроизвести ошибку
Очень редко, на клиентских машинах, уже месяц как не вылазит у меня, но изредка стреляет у клиентов. Понял, спасибо за помощь.
источник

T

Ternvein in supapro.cxx
Dmitry Shulga
хорошо, спасибо, я понял свою ошибку. Но все же, если есть уверенность, что указатель не мог в коде меняться - возможна ли проблема где-то извне, не знаю правда где...
Возможна. Например, раздолбали кучу где-то раньше. Без отладчика не поймёшь нормально.
Если с отладчиком беда, для начала просто попробуй получить поля по этому указателю.
источник

ПК

Побитый Кирпич... in supapro.cxx
Dmitry Shulga
Очень редко, на клиентских машинах, уже месяц как не вылазит у меня, но изредка стреляет у клиентов. Понял, спасибо за помощь.
Фактор рандома могут вводить разные вещи. Начиная от многопоточности, заканчивая инвалидацией указателей при реаллокации вектора при переполнении.
источник