|
|
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Ну не могу понять кто запускает процедуру PrintX. Её может запустить только метод Check . Там этот метод вызывается только один раз в условии его можно легко найти (ближе к низу кода): Код: java 1. если пометить эту строчку как точку остановки и запуститься пошагово , то мы увидим , что на начальных итерациях эта строка просто не выполняется , однако PrintX вызывается... То есть пошаговая отладка ответ на вопрос не даёт. Мистика ! Вопрос к тем кому не лень разбираться , кто вызывает PrintX на начальных шагах цикла ? Код: java 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. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2016, 23:52 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Меня всегда смущало использование do...while, может переписать и тогда станет понятнее?. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 00:04 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, когда ты уже стоишь в брейкпойнте - внизу есть окошко где показан полный стектрейс и по нему видно кто кого вызвал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 01:29 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
maytonandron81, когда ты уже стоишь в брейкпойнте - внизу есть окошко где показан полный стектрейс и по нему видно кто кого вызвал. да Вы понимаете я наторкал всё тело PrintX брейкпоинтами , а так же брейкпоинтами пометил вот эти строки Код: java 1. 2. и запускаю. так вот при запуске отладки на вышеуказанных строках происходит остановка, на точках в методе PrintX - нет. Тем не менее метод PrintX каким-то волшебным образом выполняется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 08:21 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81так вот при запуске отладки на вышеуказанных строках происходит остановка, на точках в методе PrintX - нет. Тем не менее метод PrintX каким-то волшебным образом выполняется... 1. Методы называются с маленькой буквы. 2. А чего ему не выполняться, если у вас он в методе Check, а метод Check выполняется. С чего PrintX не должен выполняться-то, если он лежит в Check? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:30 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
и точки остановы ставятся без проблем на цикле. Если вам надо где-то между указанием переменных i1, j1 и c; поставить точку остановы, то воткните туда sout и на него поставьте брекпоинт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:32 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
*останова :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:34 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Перепишите PrintX вот так, с его переименованием: Зачем без инициализации создавать перед циклами отдельно int'ы, если они только в цикле используются. И зачем там переменная int c; ? удалил. Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 09:46 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Nixic, это всё ньюансы важные , но к делу не относящиеся. Если я расставил брекпоинтов на каждую строчку процедуры PrintX значит при любом обращении на процедуру PrintX в любой точке программы выполнение должно останавливаться на первой строчке процедуры или же нет ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 12:04 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, см скриншот: я нажимаю на букашку(Eclipse) программа попадает на строчку выделенную стрелочку. но в консоле мы видим , что почему-то уже отработала процедура PrintX , тогда как она нафаршерована брейкпоинтами (выделено красным) и на этих точках останова не произошло. а почему ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 12:58 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, ошибся , немного не так написал . скриншот тот же , а читать это : изначально я попадаю на строчку подсвеченную (см. скриншот) , а при продолжении отладки (клавиша F8) сразу высвечивается в консоле результат выполнения PrintX , но почему нет останова на шагах метода PrintX мне непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:11 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Потому что F8 - это шаг без захода. Если хочешь зайти внутрь, жми F7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:21 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
HettПотому что F8 - это шаг без захода. Если хочешь зайти внутрь, жми F7 не помогает. в процедуру PrintX отладчик не заглядывает. Тем не менее её выполняет. а неё каждая строка (см. скриншот) вся в брейкпонитах . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:28 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81отладчик не заглядывает. Тем не менее её выполняет. проверь установкой не бряка, а райзе\лога внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:48 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Да, вы тут все уже отмечаете что ли? Код: java 1. 2. 3. 4. И всё видно в выхлопе без всякой отладки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:55 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Petro123 райзе\лога внутри. можно вот это по - русски ? логирование предлагаете приплести ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 13:56 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81andron81, см скриншот: я нажимаю на букашку(Eclipse) программа попадает на строчку выделенную стрелочку. но в консоле мы видим , что почему-то уже отработала процедура PrintX , тогда как она нафаршерована брейкпоинтами (выделено красным) и на этих точках останова не произошло. а почему ??? Может целиком пересобрать проект? У меня в нетбинсе PrintX выполняется как и задумано - при совпадении условий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:04 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДа, вы тут все уже отмечаете что ли? Код: java 1. 2. 3. 4. И всё видно в выхлопе без всякой отладки. что я там увижу ? мне нужно увидеть логика выполнения программы, переменные прозвонить на каждой итерации. а если у меня скачки необъяснимые, то грош цена этим отладкам ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:05 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
morewindМожет целиком пересобрать проект? У меня в нетбинсе PrintX выполняется как и задумано - при совпадении условий. так это уже вторая сборка. предыдущая была дома... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:07 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81что я там увижу ? Вот это:andron81то мы увидим , что на начальных итерациях эта строка просто не выполняется , однако PrintX вызывается andron81мне нужно увидеть логика выполнения программы, переменные прозвонить на каждой итерации. а если у меня скачки необъяснимые, то грош цена этим отладкам ... Для этого сначала надо дать переменным значимые имена. А потом логирования добавить на любой ветвление. Что мешает добавить логирование? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:09 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81можно вот это по - русски ? будет видно врёте вы или нет что процедура выполняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:21 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczandron81что я там увижу ? Вот это:andron81то мы увидим , что на начальных итерациях эта строка просто не выполняется , однако PrintX вызывается я и так это вижу... тогда кто вызывает процедуру ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:21 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Petro123andron81можно вот это по - русски ? будет видно врёте вы или нет что процедура выполняется. если закоментить всё тело процедуры PrintX , то мы вывод матрицы (а это процедура и делает ) не увидим. Значит процедура выполняется именно PrintX . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2016, 14:25 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, ну что ? ))) Пока ещё не поздно (пока не начали праздник), у кого Eclipse попробуйте отбрекпоинтить процедуру PrintX и позапускать... ну были же тут не ленивые герои ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 14:43 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81я и так это вижу... тогда кто вызывает процедуру ??? System.err и System.out - отдельные потоки вывода со своими буферами. Они не синхронизированы. Поэтому печать отдельно, стэк отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 14:57 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81andron81, ну что ? ))) Пока ещё не поздно (пока не начали праздник), у кого Eclipse попробуйте отбрекпоинтить процедуру PrintX и позапускать... ну были же тут не ленивые герои ;-) Не желаете ли сформулировать свой вопрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 14:58 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе желаете ли сформулировать свой вопрос? а, выходит проблема в проблеме ??? Хорошо постараюсь сформулировать иначе и проще . Вот внизу актуальный код. Есть методы Trying и Check. В первом вызывается второй в цикле по выполнению условия. при вызове второго выводится в консоле "Execute Check method" . Расставляем 3 брейкпоинта в процедуре Trying() как показано на рисунке , а так же каждую строчку Check так же пометим брейкпоинтами Итак запускаем отладку : 1. останавливаемся на первой точке останова : Код: java 1. всё ясно. 2. запускаем отладку далее переносимся к следующей точке останова: Код: java 1. В консоле появилась запись "Execute Check method" , а почему ?. Ведь не срабатывал брейкпоинт на строчке : Код: java 1. и по самой процедуре Check где тоже есть брейкпоинт отладка не заглянула. Почему ??? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: java 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. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 15:34 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81а, выходит проблема в проблеме ??? Русский не родной? andron81Вот внизу актуальный код. Есть методы Trying и Check. В первом вызывается второй в цикле по выполнению условия. при вызове второго выводится в консоле "Execute Check method" . Кем выводиться? В коде такого нет. В брейкпоинте выводится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 15:43 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczandron81а, выходит проблема в проблеме ??? Русский не родной? andron81Вот внизу актуальный код. Есть методы Trying и Check. В первом вызывается второй в цикле по выполнению условия. при вызове второго выводится в консоле "Execute Check method" . Кем выводиться? В коде такого нет. В брейкпоинте выводится? метод Trying вызывает Check. метод Check выводит в консоль - test2. (а не "Execute Check method" извиняюсь , пока писал сообщение переделал код). Итак запускаем отладку : 1. останавливаемся на первой точке останова : int y=0; всё ясно. 2. запускаем отладку далее переносимся к следующей точке останова: h=8;l=8; В консоле появилась запись "test2" , а почему ?. Ведь не срабатывал брейкпоинт на строчке : if (Check(x, y , h, l, field)==countOfStone) { и по самой процедуре Check где тоже есть брейкпоинт отладка не заглянула. Почему ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 15:52 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, Некоторые строки кода не выполняются в рантайме. Наведите курсор на брейкпоин. Там иконка обычная или перечекнутая? Если обычная, то можно зайти в свойства breakpoint и посмотреть, может она отключена у вас? http://www.beyondjava.net/blog/eclipse-breakpoints-unleashed/ Вы показываете скриншоты с рабочими бряками, но проблема у вас в нерабочих бряках и их скриншоты вы стесняетесь показать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 16:09 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, Забавно что вы всё время приводите код, хотя очевидно что вопрос в работе с IDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 16:10 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
Blazkowiczandron81, Там иконка обычная или перечекнутая? Если обычная, то можно зайти в свойства breakpoint и посмотреть, может она отключена у вас? вы имеете ввиду вкладка "Breakpoints" - там все с галочками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 16:21 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, Строка 36 находится где-то в теле цикла. Если метод вызвался, а тело цикла - нет, значит что-то с условием цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 16:28 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, Всё работает. Брейкоинт тут Код: java 1. 2. 3. Брейкоинт тут: Код: java 1. Пошагово долго, поэтому просто жмёшь F8. Всё заходит, всё печатает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 16:34 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
andron81, ну что. Конь уже неактуален? Теперь у нас - "острова" и "камни" ? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 22:46 |
|
||
|
кто запускает процедуру ?
|
|||
|---|---|---|---|
|
#18+
maytonandron81, ну что. Конь уже неактуален? Теперь у нас - "острова" и "камни" ? :) ну коня то я решил Вандер как его там методом. но без этих умных применений алгоритмов простым перебором даже в нескольких потоках думаю задача не решается за адекватное время - я пришёл к такому выводу можно , конечно сидеть решать эту задачу до пенсии , но не уверен , что это верно. Вы не согласны ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2016, 23:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2123314]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 395ms |

| 0 / 0 |
