Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отладка Java кода в Eclipse, Отладка Java кода в Eclipse 
:(
    Опции темы
Forsaken
Дата 25.2.2010, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Здравствуйте.
Помогите пожалуйста, найти информацию по отладке кода в Eclipse.
Я после в VS не могу разобраться, как начать трассировать как закончить трассировку, как трассировать пропуская методы и заходя в них.. Пробовал тыком, но что-то не получается нормально...

Буду очень благодарен за помощь.
PM MAIL   Вверх
Exai1e
Дата 25.2.2010, 12:27 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 1
Всего: 30





--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
Forsaken
Дата 25.2.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Exai1e,
Спасибо за ссылку!
 
PM MAIL   Вверх
Forsaken
Дата 25.2.2010, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



Прошу прощения за мою несоображучесть, но я всеравно непонимаю как делать некоторые вещи..
Вот например у меня есть код из книги:
Код

import java.lang.reflect.*;
import java.util.*;

/**
 * This program uses reflection to spy on objects.
 * @version 1.11 2004-02-21
 * @author Cay Horstmann
 */
public class ObjectAnalyzerTest
{
   public static void main(String[] args)
   {
      ArrayList<Integer> squares = new ArrayList<Integer>();
      for (int i = 1; i <= 5; i++)
         squares.add(i * i);
      System.out.println(new ObjectAnalyzer().toString(squares)); 
   }
}

class ObjectAnalyzer
{
   /**
    * Converts an object to a string representation that lists all fields.
    * @param obj an object
    * @return a string with the object's class name and all field names and
    * values
    */
   public String toString(Object obj)
   {
      if (obj == null) return "null";
      if (visited.contains(obj)) return "...";
      visited.add(obj);
      Class cl = obj.getClass();
      if (cl == String.class) return (String) obj;
      if (cl.isArray())
      {
         String r = cl.getComponentType() + "[]{";
         for (int i = 0; i < Array.getLength(obj); i++)
         {
            if (i > 0) r += ",";
            Object val = Array.get(obj, i);
            if (cl.getComponentType().isPrimitive()) r += val;
            else r += toString(val);
         }
         return r + "}";
      }

      String r = cl.getName();
      // inspect the fields of this class and all superclasses
      do
      {
         r += "[";
         Field[] fields = cl.getDeclaredFields();
         AccessibleObject.setAccessible(fields, true);
         // get the names and values of all fields
         for (Field f : fields)
         {
            if (!Modifier.isStatic(f.getModifiers()))
            {
               if (!r.endsWith("[")) r += ",";
               r += f.getName() + "=";
               try
               {
                  Class t = f.getType();
                  Object val = f.get(obj);
                  if (t.isPrimitive()) r += val;
                  else r += toString(val);
               }
               catch (Exception e)
               {
                  e.printStackTrace();
               }
            }
         }
         r += "]";
         cl = cl.getSuperclass();
      }
      while (cl != null);

      return r;
   }

   private ArrayList<Object> visited = new ArrayList<Object>();
}


Скажите пожалуйста, 
1) как начать трассировку не создавая контрольной точки -с самого начала?
2) как зайти в метод или наоборот протрассировать незаходя в методы? (как я понял F5 заходит в методы, но у меня проблемы с этим..)
И что значит сообщение Source not found. в окошке PrivilegedActionException(Throwable). <int>(Throwable) line: 243
-когда я пытаюсь зайти в метод toString(squares), в строке System.out.println(new ObjectAnalyzer().toString(squares)); (в main)?
PM MAIL   Вверх
batigoal
Дата 25.2.2010, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Цитата(Forsaken @  25.2.2010,  17:45 Найти цитируемый пост)
1) как начать трассировку не создавая контрольной точки -с самого начала?

Поставить контрольную точку в первой строке main smile

Цитата(Forsaken @  25.2.2010,  17:45 Найти цитируемый пост)
2) как зайти в метод или наоборот протрассировать незаходя в методы? (как я понял F5 заходит в методы, но у меня проблемы с этим..)

Хоткеев Эклипса не знаю, но поищи в меню Step into... и Step over... соответственно.

Цитата(Forsaken @  25.2.2010,  17:45 Найти цитируемый пост)
И что значит сообщение Source not found. в окошке PrivilegedActionException(Throwable). <int>(Throwable) line: 243
-когда я пытаюсь зайти в метод toString(squares), в строке System.out.println(new ObjectAnalyzer().toString(squares)); (в main)? 

Ты пытаешься зайти внутрь метода, для которого у тебя нет исходника, только скомпилированная версия. Видимо, какая-то стороняя либа.

Это сообщение отредактировал(а) batigoal - 26.2.2010, 08:40


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Forsaken
Дата 25.2.2010, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 30.12.2008

Репутация: нет
Всего: 3



batigoal
Спасибо! Буду пытаться разобраться...

Простите уж меня за такие вопросы.
PM MAIL   Вверх
sergioK
Дата 24.3.2010, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(Forsaken @ 25.2.2010,  17:42)
batigoal
Спасибо! Буду пытаться разобраться...

Простите уж меня за такие вопросы.

Возникла проблема с дебагингом любая потытка отладить вывдает

Cannot connect to VM
socket closed



 FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:708]

при потытке прописать -agentlib:jdwp=transport=dt_shmem,server=y,suspend=n
получаю тотже Cannot connect to VM
socket closed ERROR: 
Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.
т,e он кака будто пытаеться два раза подключиться 


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

проблема видимо в эклипсе а не в JVM т,к, нет бинс работает без проблем 
 


PM MAIL   Вверх
batigoal
Дата 24.3.2010, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Цитата(sergioK @  24.3.2010,  17:18 Найти цитируемый пост)
как понять кто блокирует порт ?

netstat -a (вроде так и в Винде, и в Линухе)

Добавлено через 1 минуту и 1 секунду
А что за операционка, кстати? Вот тут для Убунты порешали аналогичную проблему: http://ubuntuforums.org/showthread.php?t=463007


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
sergioK
Дата 24.3.2010, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 207
Регистрация: 15.2.2008

Репутация: нет
Всего: нет



Цитата(batigoal @ 24.3.2010,  17:18)
Цитата(sergioK @  24.3.2010,  17:18 Найти цитируемый пост)
как понять кто блокирует порт ?

netstat -a (вроде так и в Винде, и в Линухе)

Добавлено @ 17:19
А что за операционка, кстати? Вот тут для Убунты порешали аналогичную проблему: http://ubuntuforums.org/showthread.php?t=463007

что такое убунта ?
у меня винда,  вижу я вот такую картину и какой вывод ?


TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
TCP    127.0.0.1:1025         0.0.0.0:0              LISTENING
TCP    192.168.1.2:139        0.0.0.0:0              LISTENING
TCP    192.168.1.2:1059       209.85.135.99:80       CLOSE_WAIT
TCP    192.168.1.2:1060       209.85.135.99:80       CLOSE_WAIT
TCP    192.168.1.2:1061       209.85.135.99:80       CLOSE_WAIT
TCP    192.168.1.2:1063       209.85.135.99:80       CLOSE_WAIT
TCP    192.168.1.2:1065       74.125.39.101:80       CLOSE_WAIT
TCP    192.168.1.2:1070       74.125.19.101:80       CLOSE_WAIT
TCP    192.168.1.2:1072       209.85.135.99:80       CLOSE_WAIT
TCP    192.168.1.2:1073       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1074       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1075       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1076       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1077       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1078       72.5.124.102:80        CLOSE_WAIT
TCP    192.168.1.2:1080       77.67.20.66:80         CLOSE_WAIT
TCP    192.168.1.2:1083       72.5.124.55:80         CLOSE_WAIT
TCP    192.168.1.2:1085       72.5.124.55:80         CLOSE_WAIT
UDP    0.0.0.0:445            *:*
UDP    127.0.0.1:123          *:*
UDP    127.0.0.1:1056         *:*
UDP    127.0.0.1:1071         *:*
UDP    127.0.0.1:1900         *:*
UDP    192.168.1.2:123        *:*
UDP    192.168.1.2:137        *:*
UDP    192.168.1.2:138        *:*
UDP    192.168.1.2:1900       *:*
PM MAIL   Вверх
Alex1998
Дата 17.5.2017, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2017

Репутация: нет
Всего: нет



Добрый день я начинающий программист и только только начал работать на Java в среде программирования Eclipse много сайтов просмотрел никак не смог найти как соединяются классы, т.е. перетекание из одного класса в другой с помощью Button все это происходит в окне в JFrame, за ранее Спасибо
PM MAIL   Вверх
vpf
Дата 18.5.2017, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 14.11.2016
Где: Moscow

Репутация: нет
Всего: нет



вы имеете ввиду как перейти из одной формы возможно это поможет http://javatalks.ru/topics/20178


Это сообщение отредактировал(а) vpf - 18.5.2017, 10:21
PM MAIL IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alex1998
Дата 18.5.2017, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2017

Репутация: нет
Всего: нет



нет нужно сделать что то в роде ссылки чтобы когда нажимаешь Button в одном классе открывался другой класс с содержанием в нем и все это происходит в JFrame
PM MAIL   Вверх
vpf
Дата 18.5.2017, 15:28 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 14.11.2016
Где: Moscow

Репутация: нет
Всего: нет



Вот они переключаются из MyPanel в MyPanel2 класс  JPanel  http://stackoverflow.com/questions/1127326...icking-a-button
А это чуть измененный пример по кнопке test3 можно переключиться обратно.
Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class CardLayoutExample
{
    private JPanel contentPane;
    private MyPanel panel1;
    private MyPanel2 panel2;

    private void displayGUI()
    {
        JFrame frame = new JFrame("Card Layout Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JPanel contentPane = new JPanel();
        contentPane.setBorder(
            BorderFactory.createEmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new CardLayout());
        panel1 = new MyPanel(contentPane);
        panel2 = new MyPanel2(contentPane);
        contentPane.add(panel1, "Panel 1"); 
        contentPane.add(panel2, "Panel 2");
        frame.setContentPane(contentPane);
        frame.pack();   
        frame.setLocationByPlatform(true);
        frame.setVisible(true);
    }

    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new CardLayoutExample().displayGUI();
            }
        });
    }
}

class MyPanel extends JPanel {

    private JTextField How;
    private JLabel jcomp2;
    private JLabel jcomp3;
    private JButton jcomp4;
    private JPanel contentPane;

    public MyPanel(JPanel panel) {

        contentPane = panel;
        //construct components
        How = new JTextField (1);
        jcomp2 = new JLabel ("How long were you parked?");
        jcomp3 = new JLabel ("Minutes");
        jcomp4 = new JButton ("openNewWindow");

        //adjust size and set layout
        setPreferredSize (new Dimension (315, 85));
        setLayout (null);

        //set component bounds (only needed by Absolute Positioning)
        How.setBounds (245, 50, 60, 25);
        jcomp2.setBounds (35, 30, 185, 50);
        jcomp3.setBounds (250, 30, 60, 20);
        jcomp4.setLocation(0, 0);
        jcomp4.setSize(315, 25);
        jcomp4.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                CardLayout cardLayout = (CardLayout) contentPane.getLayout();
                cardLayout.next(contentPane);
            }
        });

        //add components
        add (How);
        add (jcomp2);
        add (jcomp3);
        add (jcomp4);               
    }
}

class MyPanel2 extends JPanel {
    private JButton jcomp1;
    private JButton jcomp2;
    private JButton jcomp3;
    private JTextField jcomp4;

    public MyPanel2(JPanel contentPane) {
        //construct components
        jcomp1 = new JButton ("test1");
        jcomp2 = new JButton ("test2");
        jcomp3 = new JButton ("test3");
        jcomp4 = new JTextField (5);

        //adjust size and set layout
        setPreferredSize (new Dimension (395, 156));
        setLayout (null);
        jcomp3.addActionListener( new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                CardLayout cardLayout = (CardLayout) contentPane.getLayout();
                cardLayout.next(contentPane);
            }
        });

        //set component bounds (only needed by Absolute Positioning)
        jcomp1.setBounds (20, 45, 100, 25);
        jcomp2.setBounds (135, 60, 100, 25);
        jcomp3.setBounds (260, 35, 100, 25);
        jcomp4.setBounds (105, 115, 100, 25);

        //add components
        add (jcomp1);
        add (jcomp2);
        add (jcomp3);
        add (jcomp4);       
    }
}




Это сообщение отредактировал(а) vpf - 18.5.2017, 15:29
PM MAIL IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alex1998
Дата 18.5.2017, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2017

Репутация: нет
Всего: нет



Спасибо за помощь
PM MAIL   Вверх
Marcus22
Дата 19.8.2017, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 14.8.2017

Репутация: нет
Всего: нет



как УВИДЕТЬ построчное выполнение кода? Как реализовать аналог F8?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.2130 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.