Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / отладка в Netbeans - прыг-скок, здесь-там / 25 сообщений из 33, страница 1 из 2
26.03.2018, 22:43
    #39620783
Gobzo Kobler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отладка в Netbeans - прыг-скок, здесь-там
Я сам 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
26.03.2018, 23:43
    #39620809
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отладка в Netbeans - прыг-скок, здесь-там
Gobzo Kobler,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

результирующий файл сравни, размер поменялся после манипуляций?
...
Рейтинг: 0 / 0
27.03.2018, 20:59
    #39621576
Gobzo Kobler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отладка в Netbeans - прыг-скок, здесь-там
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
27.03.2018, 21:45
    #39621587
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
отладка в Netbeans - прыг-скок, здесь-там
Gobzo Kobler,

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

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

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


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


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


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