powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / отладка в Netbeans - прыг-скок, здесь-там
25 сообщений из 33, страница 1 из 2
отладка в Netbeans - прыг-скок, здесь-там
    #39620783
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сам Netbeans редко пользовался за пределами java, а тут просто по быстрому нужно идею проверить на плюсах, а она под рукой.
В общем создаю проект, в нем всего-то main.cpp, util.h/util.cpp, один класс, все методы static void, в общем все почти на уровне Hello World.

В отладчике останавливаюсь на 1й строке в main. Дохожу до конца (примерно строк 20). И перед закрывающей скобкой снова нажимаю F8 и курсор скачет на несколько строк вверх. Потом еще, и еще, и так до первой строки, потом на последнюю и программа завершается.

Что это вообще такое? С чего исполнение идет вспять перед завершением?

Netbeans 8.2
Cygwin gdb 7.10.1, gcc-g++ 6.4.0
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620809
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

оно и не идет. это такой нетбинс
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620813
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это так показано, что отрабатывают деструкторы ?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620819
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo KoblerЧто это вообще такое?

Оптимизация. Компилятор волен менять порядок выполнения независимых операторов. Отключи её.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620822
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGobzo KoblerЧто это вообще такое?

Оптимизация. Компилятор волен менять порядок выполнения независимых операторов. Отключи её.
тоже весьма может, гсс очень укуренный продвинутый.

и не только порядок операторов, а вообще выносить повторяемые участки кода, как например хвостовая рекурсия
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620823
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да уж, укуренный подход. оптимизацию отключать, это нужно делать добавляя ключики оптимизации в поля дополнительных параметров компиляции? в самих настройках проекта вроде ничего специально не предусмотрено?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620826
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавил -O0 ничего не изменилось.
похоже действительно netbeans заставляет gdb проходится по деструкторам. и еще никто не свихнулся на реальных проектах шагать?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620833
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

никто не использует нетбинс. ну, почти никто
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620835
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

ну для жабы очень даже ничего. удобно.

но с плюсами, мама родная! да, он скачет по деструкторам 100 пудово. но кроме того еще и заходит в методы по Ф8 как будто нажато Ф7, но только в некоторые методы, не во все. я фигею, дорогая редакция! последний раз отлаживал в ней плюсы версия была 8.0 и все работало, только пришлось перейти под Qt Developer ради лучшей поддержки Qt. Ну оракл и запорол, блин, софт.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620851
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

теперь это не Оракл, посмотрим что теперь с ним будет :)
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620853
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такое и в VS бывает, если release сборку отлаживать.
Отладка прыгает, потому что языковые конструкции раскладываются в код в нескольких местах (вроде. Или наоборот)
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39620877
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Koblerкроме того еще и заходит в методы по Ф8 как будто нажато Ф7, но только в некоторые методы, не во все
Компилятор инлайнит, вот и заходит. Фактически это уже не процедура выходит.
Блокировать просто надо

https://stackoverflow.com/questions/1474030/how-can-i-tell-gcc-not-to-inline-a-function
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621099
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Koblerи еще никто не свихнулся на реальных проектах шагать?

Реальные проекты пошагово не отлаживаются. Этот метод годится максимум для курсовиков
класса "Hello, World".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621480
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

А почему тогда остальные инлайненные методы того же класса не останавливаются на брекпоинтах? В те в которых брекпоинтов нет, отладчик заходит сам без приглашения. Как же все криво, это просто ужас какой-то. Все на подпорках, для всего нужно сакральное знание.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621481
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Какие мы умные! Молодец, что я могу сказать. Всех уел.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621497
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-O0 дефолтное состояние

-fno-inline
-fno-inline-small-functions
не работает, по прежнему само заходит в методы.

Проблема или в gcc или что менее вероятно, в gdb.
Рекомендованный подход использовать -Og ничего не меняет.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621520
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

а точно для текущей сборки их задавал?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621542
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Перефразируй вопрос, не понимаю. В нетбинсе клин/билд, до 8.0 версии этого было достаточно чтобы перестроилось. Это оно?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621548
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

результирующий файл сравни, размер поменялся после манипуляций?
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621576
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

зачем мне вообще смотреть на файлы, если в логах видно что опции применились? клин убил файл, билд его пересоздал. если уже и этому доверять нельзя, какого хрена тогда вообще вставать с кровати и выходить из дома?

Код: 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.
cd 'C:\Users\user1\Documents\NetBeansProjects\test1'
D:\cygwin64\bin\make.exe -f Makefile CONF=Debug clean
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .clean-conf
make[1]: Entering directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'
rm -f -r build/Debug
make[1]: Leaving directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'

CLEAN SUCCESSFUL (total time: 480ms)
cd 'C:\Users\user1\Documents\NetBeansProjects\test1'
D:\cygwin64\bin\make.exe -f Makefile CONF=Debug
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin-Windows/test1.exe
make[2]: Entering directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'
mkdir -p build/Debug/Cygwin-Windows/_ext/471577b1
rm -f "build/Debug/Cygwin-Windows/_ext/471577b1/PCIUtil.o.d"
g++ -fno-inline -fno-inline-small-functions -Og   -c -g -Wall -I/cygdrive/D/Downloads/cpp/cryptopp -std=c++11 -MMD -MP -MF "build/Debug/Cygwin-Windows/_ext/471577b1/PCIUtil.o.d" -o build/Debug/Cygwin-Windows/_ext/471577b1/PCIUtil.o /cygdrive/C/Users/user1/Documents/NetBeansProjects/test1/PCIUtil.cpp
mkdir -p build/Debug/Cygwin-Windows
rm -f "build/Debug/Cygwin-Windows/main.o.d"
g++ -fno-inline -fno-inline-small-functions -Og   -c -g -Wall -I/cygdrive/D/Downloads/cpp/cryptopp -std=c++11 -MMD -MP -MF "build/Debug/Cygwin-Windows/main.o.d" -o build/Debug/Cygwin-Windows/main.o main.cpp
mkdir -p dist/Debug/Cygwin-Windows
g++ -fno-inline -fno-inline-small-functions -Og    -o dist/Debug/Cygwin-Windows/test1 build/Debug/Cygwin-Windows/_ext/471577b1/PCIUtil.o build/Debug/Cygwin-Windows/main.o -L/cygdrive/D/Downloads/cpp/cryptopp -lcryptopp
make[2]: Leaving directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'
make[1]: Leaving directory '/cygdrive/c/Users/user1/Documents/NetBeansProjects/test1'
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621587
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

правильная дебаг-сборка
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621596
Фотография Gobzo Kobler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

перетащил проект в VS 2017, отладчик шагает вперед без взбрыков и не лезет куда не надо. нетбинс следует забыть про плюсы.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621697
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo Kobler,

ну да, однозначно фигня
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621850
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo KoblerЧто это вообще такое? С чего исполнение идет вспять перед завершением?


Это выполняется код эпилога.
В частности, выполняется код деструкторов глобальных и/или статических объектов.
...
Рейтинг: 0 / 0
отладка в Netbeans - прыг-скок, здесь-там
    #39621852
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gobzo KoblerSiemargl,
ну для жабы очень даже ничего. удобно.


Да ты шо!
А IDEA не пробовал?
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / отладка в Netbeans - прыг-скок, здесь-там
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]