рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЬрдм рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдЗрдирдЯреНрд░реЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдХреБрдЫ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрджрдо рджрд░ рдХрджрдо рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рд▓реЙрдЧрд┐рдВрдЧ рдЯреВрд▓ рдпрд╛ рдЕрдиреНрдп рдирд┐рдЧрд░рд╛рдиреА рддрдВрддреНрд░ рд╕реЗ рд▓реИрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ?

рд╣рдо рдХрд╛рд░реНрдп рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬрдЯрд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХреЛрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдЬрдорд╛ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореМрдЬреВрджрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ (рдорд╛рдорд▓рд╛ рдЬрдм рдЕрдХреНрд╖рдореНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рднреА рдЪрд▓ рд░рд╣рд╛ рдерд╛)ред рдЬрд╛рд╡рд╛ рдорд╢реАрди, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рдХрд▓реНрдкреЛрдВ (рдбреАрдмрдЧрд░ рдЕрдиреБрд▓рдЧреНрдирдХ рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп рдШрдВрдЯрд┐рдпрд╛рдБ рдФрд░ рд╕реАрдЯреА рдмрдЬрд╛рдиреЗ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛) рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИред

рдФрд░ рдореИрдВ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред



рд╡рд╣реА рд╣рдо рдХрд░реЗрдВрдЧреЗред



рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕рд░рд▓ рдХреЛрдб рд▓реЗрдВ, рдЬреЛ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╕рд┐рджреНрдз рдкреНрд░рд╕рд┐рджреНрдз рдХрдерд╛ "рд╢рд▓рдЬрдо" рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрдХреНрд╖рд╛рдУрдВ рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЖрдпреЛрдЬрди рдХреА рд╕реБрдВрджрд░рддрд╛ рдХреЛ рджрд┐рдЦрд╛рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдХреЗрд▓реЗ рдирд╛рдордХрд░рдг (рдпрд╣рд╛рдВ, рдмрд▓реНрдХрд┐, рдЕрдкрдорд╛рди) рджреЗрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рдХреЙрд▓ рдХреЗ рдмрд╛рдж рдХреЙрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред



1: package skazka; 2: 3: import java.io.BufferedReader; 4: import java.io.InputStreamReader; 5: 6: public class Repka { 7: public static void main(String[] args) throws Exception { 8: new BufferedReader(new InputStreamReader(System.in)).readLine(); 9: 10: try { 11: new Dedka().tyanem("", 200); 12: } catch (Exception ex) { 13: processError(ex); 14: } 15: 16: } 17: 18: public static boolean processError(Exception ex) { 19: // ... 20: return true; 21: } 22: } 23: 24: class Dedka { 25: void tyanem(String target, int weight) { 26: new Babka().tyanem(target, weight - 15); 27: } 28: } 29: 30: class Babka { 31: void tyanem(String target, int weight) { 32: new Vorona().tyanem(target, weight - 10); 33: } 34: } 35: 36: class Vorona { 37: void tyanem(String target, int weight) { 38: if (!target.equals("")) { 39: throw new RuntimeException("    "); 40: } 41: 42: // ... 43: } 44: }
      
      







рд╕рдВрдХрд▓рди



 javac skazka/Repka.java
      
      





рдФрд░ рджреМрдбрд╝реЛ



 java skazka.Repka
      
      







рдЕрдм рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ "рд╡реЗрдЬ" рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдорд╛рд░реНрдЯрд┐рди рд░реЙрдмрд░реНрдЯрд╕рди (рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдИ, рдХрдИ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдзрдиреНрдпрд╡рд╛рдж) рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдЬрд╛рд╡рд╛ рдПрдЬреЗрдВрдЯ, рдЗрдирдЯреНрд░реЗрд╕ mchr3k.github.io/org.intrace рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ , рдпрд╣ рдЗрд╕реЗ рдордХреНрдЦреА рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рддрддреНрд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



InTrace рдПрдЬреЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдЬрд╛рд╡рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд░рд▓ рддрд░реАрдХреЛрдВ рд╕реЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ (рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП):

1) рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдзрд┐

 public static void loadAgent(String pid, String agentFilePath) throws Exception { VirtualMachine vm = VirtualMachine.attach(pid); vm.loadAgent(agentFilePath, ""); vm.detach(); }
      
      







Java рдПрдЬреЗрдВрдЯ intrace-agent.jar рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ github.com/mchr3k/org.intrace/tree/master/binaries/jars/latest_development рд╕реЗ рдЦрд┐рд╕рдХрд╛рдирд╛



2) рд╡рд┐рдЬреБрдЕрд▓рд╡реАрдПрдо рд▓реЗрдирд╛ (рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛, рдЕрдЧрд░ рдпрд╣рд╛рдВ рд╕реЗ рдХреЛрдИ рд╡рд┐рдЬреБрдЕрд╡рдо.рдЬрд╡рд╛.рдиреЗрдЯ рдирд╣реАрдВ рд╣реИ) рдФрд░ рдЗрд╕реЗ рдкреИрдЪ рдХрд░рдирд╛ (рдЯреВрд▓-> рдкреНрд▓рдЧрдЗрдиреНрд╕) рдЗрдирдЯреНрд░реЗрд╕-рдЗрдиреНрдЯреНрд░реЗрд╕-рд╡рд┐рдЬреБрд╡реНрдо.рдПрдирдмреАрдПрдо рдкреНрд▓рдЧрдЗрди рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛

github.com/mchr3k/org.intrace/tree/master/binaries/jars/latest_development



рдореБрд╕реАрдмрдд рдпрд╣ рд╣реИ рдХрд┐ org-intrace-visualvm.nbm рдирд╡реАрдирддрдо рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╡реАрдПрдо рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд dzharniki рдХреЛ github.com/mchr3k/org.intrace/tree/master/binaries/jars/jars рд╕реЗ рд╣рд╛рд▓ рдХреЗ рдЕрдиреНрдп рдореЗрдВ рдмрджрд▓реЗрдВред latest_development

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рд▓рд┐рдирдХреНрд╕ рдУрдПрд╕), рдореБрдЭреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛

intrace-agent.jar рдкрд░ intrace-agent.jar рдФрд░ intrace-client-gui-linux.jar рдкрд░ рдЗрдВрдЯреНрд░реЗрд╕- ui.jar (рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджреЗрдЦреЗрдВ, рдкреНрд▓рдЧрдЗрди рд░рд╛рд╕реНрддрд╛ рдмрддрд╛рддрд╛ рд╣реИ)



рдЕрдм рдпрд╣ VisualVM рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ, skazka.Repka рдХреЗ рд▓рд┐рдП рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ "рдЗрдирдЯреНрд░реЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди ..." рдЪреБрдиреЗрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ





"рд▓реЛрдб рдЗрдирдЯреНрд░реЗрд╕ рдПрдЬреЗрдВрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХрдВрд╕реЛрд▓, рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рдорд╛рди рдЗрдирдЯреНрд░реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛







рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЪрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ: рдПрдХ рдЗрдирдЯреНрд░реЗрд╕ рдПрдЬреЗрдВрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЬрд╛рд╡рд╛ рдорд╢реАрди рдореЗрдВ рдмрд╕рд╛ рд╣реБрдЖ рд╣реИ, рдмрд╛рдЗрдЯ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдЯреНрд░реЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред



рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдЪрд░рдг рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдЬреЗрдВрдЯ рдкреНрд░рдмрдВрдзрди рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг (рдПрдХ рдЕрд▓рдЧ рдЖрд╡реЗрджрди) рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред



рдлрд┐рд░ рд╕реЗ, рджреЛ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

1) рд╣рдордиреЗ рдкрд╣рд▓реЗ "рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рддрд░реАрдХреЗ" рдореЗрдВ рдПрдЬреЗрдВрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛, рдлрд┐рд░ рдЪрд▓рд╛рдпрд╛

 java -jar intrace-ui.jar
      
      





рдпрд╣рд╛рдБ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛

github.com/mchr3k/org.intrace/tree/master/binaries/jars/latest_development

2) VisualVM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рд▓реЙрдиреНрдЪ рдЗрдирдЯреНрд░реЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдареАрдХ рдЙрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдПрдХ рдирдпрд╛ рдЗрдВрдЯреНрд░реЗрд╕-рдпреВрдЖрдИ.рдЬрд░ рдкреИрдЪ рдХрд┐рдпрд╛ рд╣реИ)







рд╣рдо рдкрддреЗ рдореЗрдВ рдбреНрд░рд╛рдЗрд╡ рдХрд░рддреЗ рд╣реИрдВ, рдЯреНрд░реЗрд╕ рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВрдиреЗ рдПрдВрдЯреНрд░реА / рдПрдЧреНрдЬрд┐рдЯ + рдмреНрд░рд╛рдВрдЪ + рдЖрд░реНрдЧреНрд╕ рдХреЛ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛), "рдХрдХреНрд╖рд╛рдПрдВ ..." рдмрдЯрди рджрдмрд╛рдПрдВ рдФрд░ рд╡рд╣рд╛рдВ рд╕реНрдХреЗрдЬрдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ (рдпрд╣ рд╕реНрдХреЗрдЬ рдкреИрдХреЗрдЬ рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧрд╛)ред

рдЪрд▓ рд░рд╣реЗ "рд╢рд▓рдЬрдо" рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдореЗрдВ "рдПрдВрдЯрд░" рджрдмрд╛рдПрдВ (рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдФрд░ рдЕрдВрдд рдореЗрдВ рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:



 [21:52:39.861]:[1]:skazka.Dedka:<init>: {:24 [21:52:39.862]:[1]:skazka.Dedka:<init>: }:24 [21:52:39.862]:[1]:skazka.Dedka:tyanem: {:26 [21:52:39.865]:[1]:skazka.Dedka:tyanem: Arg (target):  [21:52:39.866]:[1]:skazka.Dedka:tyanem: Arg (weight): 200 [21:52:39.868]:[1]:skazka.Babka:<init>: {:30 [21:52:39.869]:[1]:skazka.Babka:<init>: }:30 [21:52:39.871]:[1]:skazka.Babka:tyanem: {:32 [21:52:39.871]:[1]:skazka.Babka:tyanem: Arg (target):  [21:52:39.871]:[1]:skazka.Babka:tyanem: Arg (weight): 185 [21:52:39.878]:[1]:skazka.Vorona:<init>: {:36 [21:52:39.878]:[1]:skazka.Vorona:<init>: }:36 [21:52:39.878]:[1]:skazka.Vorona:tyanem: {:38 [21:52:39.879]:[1]:skazka.Vorona:tyanem: Arg (target):  [21:52:39.879]:[1]:skazka.Vorona:tyanem: Arg (weight): 175 [21:52:39.879]:[1]:skazka.Vorona:tyanem: /:39 [21:52:39.885]:[1]:skazka.Vorona:tyanem: Throw:39: java.lang.RuntimeException:      at skazka.Vorona.tyanem(Repka.java:39) at skazka.Babka.tyanem(Repka.java:32) at skazka.Dedka.tyanem(Repka.java:26) at skazka.Repka.main(Repka.java:11) [21:52:39.885]:[1]:skazka.Vorona:tyanem: }:39 [21:52:39.886]:[1]:skazka.Repka:main: /:13 [21:52:39.890]:[1]:skazka.Repka:processError: {:20 [21:52:39.890]:[1]:skazka.Repka:processError: Arg (ex): java.lang.RuntimeException:      [21:52:39.891]:[1]:skazka.Repka:processError: Return: 1 [21:52:39.891]:[1]:skazka.Repka:processError: }:20 [21:52:39.891]:[1]:skazka.Repka:main: }:16
      
      







рдкреНрд░рддреНрдпреЗрдХ рдЖрдЙрдЯрдкреБрдЯ рд▓рд╛рдЗрди рдХреЛ рдирд┐рдореНрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

 [ ]:[ ]::: 
      
      





рдЬрд╣рд╛рдВ:

рд╡рд░реНрддрдорд╛рди рд╕рдордп - рдЦреБрдж рдХреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИ

рд╕реНрдЯреНрд░реАрдо рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ - рд╕реНрдЯреНрд░реАрдо рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреНрд░реАрдо - рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЦреНрдпрд╛рдПрдБ (1, 2, 3, 4, ...)

рдкреИрдХреЗрдЬ - рдирд╛рдо рд╕реНрдерд╛рди

рд╡рд┐рдзрд┐ - рдЙрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╣реЛрддрд╛ рд╣реИ

рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА - рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ



рд╕рдорд░реНрдерд┐рдд рдЯреНрд░реЗрд╕ рдкреНрд░рдХрд╛рд░:

- рдореЗрдердб рдЗрдирдкреБрдЯ \ рдЖрдЙрдЯрдкреБрдЯ

 [21:52:39.861]:[1]:skazka.Dedka:<init>: {:24 [21:52:39.862]:[1]:skazka.Dedka:<init>: }:24
      
      





рдпрд╛

 [21:52:39.890]:[1]:skazka.Repka:processError: {:20
      
      







- рд╢рд╛рдЦрд╛рдПрдБ

 [21:52:39.879]:[1]:skazka.Vorona:tyanem: /:39
      
      





- рддрд░реНрдХ (рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕реНрдЯреНрд░рд╕реНрдЯреНрд░рд┐рдВрдЧ () рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ)

 [21:52:39.865]:[1]:skazka.Dedka:tyanem: Arg (target):  [21:52:39.866]:[1]:skazka.Dedka:tyanem: Arg (weight): 200
      
      





рд╡рд╛рдкрд╕реА рдорд╛рди

 [21:38:31.444]:[1]:skazka.Repka:processError: Return: 1
      
      





- рдЕрдкрд╡рд╛рдж

 [21:52:39.885]:[1]:skazka.Vorona:tyanem: Throw:39: java.lang.RuntimeException:      at skazka.Vorona.tyanem(Repka.java:39) at skazka.Babka.tyanem(Repka.java:32) at skazka.Dedka.tyanem(Repka.java:26) at skazka.Repka.main(Repka.java:11)
      
      





рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред



рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗрдВ (рдЬреЛ рдХреБрдЫ рддреБрд░рдВрдд рд╕рд╣рдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рд╕рдордЭ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рдкрдбрд╝ рдЬрд╛рддреА рд╣реИ)ред



рд▓реЗрдЦрдХ рдХреЗ рдкреГрд╖реНрда mchr3k.github.io/org.intrace/howintraceworks.html рдкрд░ рдХреЛрдб рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ (рдХреИрд╕реЗ рдирд┐рд╢рд╛рди рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреА рдЬрд╛рддреА рд╣реИ) рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдореИрдВ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА "рдлрд╝рд┐рд▓реНрдЯрд░ ..." рдмрдЯрди рдкрд░ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХрдЪрд░реЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ



рдПрдХреНрд▓рд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдореМрдЬреВрджрд╛ рдПрдХреАрдХрд░рдг рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд╛рдЧреВ рдЗрдирдЯреНрд░реЗрд╕ рдПрдЬреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ, рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП mchr3k.github.io/org.intrace/eclipse.html рджреЗрдЦреЗрдВ ред



рдХреБрд▓



рдлрд╛рдпрджреЗ:

1) рдордХреНрдЦреА рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдкреНрд░рдЧрддрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛:

- рд╡рд┐рдзрд┐ рдХреЙрд▓, рдкрд╛рд░рд┐рдд рддрд░реНрдХ, рд╢рд╛рдЦрд╛рдПрдВ, рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди ...

- рдмрд┐рдирд╛ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд┐рдП рдмрд┐рдирд╛

2) рдЙрдкрд▓рдмреНрдз рдХреЛрдб (рдУрдкрдирд╕реЛрд░реНрд╕)

3) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди

4) рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдорд╛рдзрд╛рди (рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕)

5) рд▓реЛрдХрдкреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рд╕рдВрднрд╡ рд╣реИ (рдЧреНрд░рд╣рдг, рд╡рд┐рдЬреБрдЕрд▓рд╡реАрдПрдо)



рдиреБрдХрд╕рд╛рди:

1) рдордХреНрдЦреА рдкрд░ рдХреЛрдб рдмрд╛рдЗрдЯреНрд╕ рдмрджрд▓реЗрдВ:

- рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ (рдкреНрд░рджрд░реНрд╢рди)

- рдПрдЬреЗрдВрдЯ рдХрд╛ рдкрд░рд┐рдЪрдп рдореМрдЬреВрджрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ "рдореНрдпреВрдЯ" рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдЖрдк рдПрдХ рд╣реА рдирджреА рдореЗрдВ рджреЛ рдмрд╛рд░ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ)

- рдХреЛрдб рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рдВрд╢реЛрдзрди "рдЬреИрд╕рд╛ рд╣реИ" рдФрд░ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ "рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдкрд░"

2) рдХреЛрдИ рдЬрди рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ - рдХреЗрд╡рд▓ рдПрдХ рдбреЗрд╡рд▓рдкрд░, рд▓реЗрдХрд┐рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реЗ рдореБрдЖрд╡рдЬрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЖрдЦрд┐рд░реА рдЕрдкрдбреЗрдЯ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдХреБрдЫ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдерд╛ред

3) рдЙрддреНрдкрд╛рдж рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рд╡рд╛ 1.6 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛ 1.7 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдмрдЧ github.com/mchr3k/org.intrace/issues/28 рджреЗрдЦреЗрдВ)ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдЦрдХ рдХреЗрд╡рд▓ 1.6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, "рдЦреБрдж рдХреЗ рд▓рд┐рдП" рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рд╡рд╛рдгрд┐рдЬреНрдп рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрд┐рд╕реЗ рдПрдХ рдирдП рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрд╕реЗ рд▓реЗрдиреЗ рдФрд░ рдкреЗрдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдордд рдмрдиреЛ



рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ: рдЗрдирдЯреНрд░реЗрд╕ рдПрдХ рдПрдЬреЗрдВрдЯ рд╣реИ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд╛ рд╣рдХрджрд╛рд░ рд╣реИ, рдФрд░, рд╢рд╛рдпрдж, рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдЙрдкрдХрд░рдг рдмрди рдЬрд╛рдПрдЧрд╛, рдПрдХ рдЕрд▓рдЧ рдХреЛрдг рд╕реЗ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд┐рд╕реА рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдорджрдж рдХрд░реЗрдЧрд╛ред



рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЬреЗрдПрд╡реАрдП рд╣рдм рдореЗрдВ рдЗрдирдЯреНрд░реЗрд╕ (рд╕рд╛рде рд╣реА рдХрдИ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛) рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред



рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдЬрд┐рдирдХреА рд░реБрдЪрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ!



All Articles