Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by renomabum · Feb 14, 2019 at 05:15 PM · c#trackingstackstacktracetrace

How to track codes from unity console.

hi. i am trying to figure how to track codes in script from unity console.

here is what i want to achieve:

using Debug.Log(), i want to print this into unity console to track and monitor some codes specifically methods

1 all the codes in a particular line. because from what i understand codes are executed line by line. i will show example on what i want here.

2 last method that was called before Debug.Log(). Or if possible last 2 or 3 or more method before that

heres the examples of what i want;

 // lets say line execution starts here
 // i dont know exactly the order but i numbered them just for reference in this example. at least this s how i assumed
 
 public void MainMethod() //lets say this method called form somewhere
 {
     method1();          --------------------------executed line1
     method2();          --------------------------executed line5
 }
 
 public void method1()
 {
       //some stuff here                      --------------------------executed line2
       //some other stuff here            --------------------------executed line3
       //more stuff here                        --------------------------executed line4
 }
 
 public void method2()/// i want to debug from this method
 {
      Debug.Log( the last method that was called which in this case method 1 );                 --------------------------executed line6
 
      Debug.Log( executed line3 ); //  what i mean here 4 lines that was executed before reaching here
  
 }
 

Hope i am clear enough with this example.

i have read some similar post and they suggested stacktrace.

i found information on stacktrace, but i dont really get how to use it and the examples given is really not clear, to me at least.

i tried to test it out or figuring out how to use it myself but dint work.

is there a proper way to achieve this.

and if this is all about stacktrace pls give some clear and simple examples on how to use it.

thank you in advance. cheers

Comment
Add comment · Show 5
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image DCordoba · Feb 15, 2019 at 10:52 AM 0
Share

are you using monodevelop? on this case you can just add a breakpoint on line 6 and after follow step by step to see the workflow.

avatar image renomabum · Feb 15, 2019 at 08:18 PM 0
Share

@DCordoba hi.. thanks for the suggestion. i am using visual studio. i am aware of the breakpoint tool.. but it doesnt really achieve my goal. since i want the log to be displayed in unity console.

my case actually is, i have a class with a constructor. in the constructor i have lots of methods. one of these methods will be called depending on the parameter i passed (kinda work like a code for which method to call). i specifically want the exact position from where the constuctor i called from. hope this helps to clear up my goals.

avatar image RobAnthem · Feb 15, 2019 at 08:48 PM 0
Share

You could use a wrapper function to deter$$anonymous$$e the origin, something like this.

 private void _DoSomething(int someInt)
 {
     /this is the code that you actually want to run;
 }
 public void DoSomething(object source, int someInt)
 {
     Debug.Log("Called from " + source);
     _DoSomething(someInt);
 }

Since it's a constructor though, I'd do something like...

 public class $$anonymous$$yObject
 {
     public static $$anonymous$$yObject Create(object source, int someInt)
     {
         Debug.Log("Called from " + source);
         return new $$anonymous$$yObject(someInt);
     }
     public int someValue;
     private $$anonymous$$yObject(int someInt)
     {
         myObject.someValue = someInt;
     }
 }
avatar image renomabum · Feb 16, 2019 at 09:49 PM 0
Share

@RobAnthem Thanks for the suggestions. i did use the first method like you suggested. it works as it should. but not really what i wanted. but the second method kinda brings me a step closer to what im working at. i never thought of using return and create class at the same time. thanks anyway.

avatar image RobAnthem renomabum · Feb 16, 2019 at 11:30 PM 0
Share

Well another, more indepth option, if you're less concerned about the actual object that calls the constructor and more about which section of code called it, you could use the StackFrame like this.

  public class $$anonymous$$yObject
  {
      public static $$anonymous$$yObject Create(System.Diagnostics.StackFrame source, int someInt)
      {
          Debug.Log("File: " + source.GetFileName()
              + ", Line: " + source.GetFileLineNumber());
          return new $$anonymous$$yObject(someInt);
      }
      public int someValue;
      private $$anonymous$$yObject(int someInt)
      {
          myObject.someValue = someInt;
      }
  }

and for calling the constructor you would use

 $$anonymous$$yObject = $$anonymous$$yObject.Create(new System.Diagnostics.StackFrame(0, true), someIntValue);

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

591 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Multiple Cars not working 1 Answer

Distribute terrain in zones 3 Answers

How to create an application with "tracking objects without markers"? 0 Answers

Creating a kind of head-up radar display 1 Answer

Renderer on object disabled after level reload 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges