Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Function Call Graph

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος objectref στις 29-09-2006, 11:42. Υπάρχουν 10 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-06-2006, 13:25 13589

    Function Call Graph

    Έπεσε στα χέρια μου μια βιβλιοθήκη σε C++ και θέλω να την διαβάσω.
    H βιβλιοθήκη είναι valid vs project Και κάνει compile κανονικά.
    Το θέμα είναι ότι γίνεται ψιλοπανικός εκεί μέσα και θα ήθελα ένα διάγραμμα κλήσεων συναρτήσεων(δηλαδή ποιές συναρτήσεις καλεί μια συνάρτηση).
    Μπορεί το VS να παράξει κάτι τέτοιο?

  •  05-06-2006, 16:53 13663 σε απάντηση της 13589

    Απ: Function Call Graph

    Δεν έχω δει ποτέ κάτι τέτοιο, αλλά θα με ενδιέφερε και εμένα. Όχι μόνο για C/C++ αλλά και VB6.

    Είχα ακούσει από παλαιότερους στον χώρο, όταν ο προγραμματισμός ήταν πιο procedural oriented, τέτοιου είδους εργαλεία κυκλοφορούσαν πάρα πολλά. Έχει κάποιος ακούσει/δει κάποιο σχετικό εργαλείο από παλιά, να το ψάξουμε λίγο;

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  05-06-2006, 21:50 13684 σε απάντηση της 13589

    Απ: Function Call Graph

    Για το Linux ξέρω ότι το doxygen με το dot μπορεί να το κάνει.

    Αλλά για να είμαι ειλικρινής, όσο προσπάθησα να το πετύχω δεν τα κατάφερα.

    Δυστυχώς δεν είχα χρόνο κα το παράτησα.

    Βασικά το εργαλείο είναι το dot.Το doxygen απλά το ενσωματώνει.
  •  06-06-2006, 11:13 13694 σε απάντηση της 13684

    Απ: Function Call Graph

    Ena tool pou kanei function call graph

    http://www.scitools.com/ucpp.html


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  28-09-2006, 11:43 17400 σε απάντηση της 13589

    Απ: Function Call Graph

    Στο VS υπάρχει ο Call Browser.
    Κάνοντας δεξί κλικ στη συνάρτηση, επιλέγεις
    Show Call Graph
    - ή -
    Show Callers Graph

    Για να δεις
    ποιές ρουτίνες καλεί αυτή η ρουτίνα
    - ή 
    ποιές ρουτίνες καλούν αυτήν τη ρουτίνα,
    αντίστοιχα.

    Ένα παράπονο μόνο:
    Αυτό υπήρχε -και υπάρχει- μόνο για C++.
    Δεν υπάρχει όμως σε C# ...!

    Ξέρει κανένας γιατί;


    Βαγγέλης Λαμπρινίδης.
  •  28-09-2006, 12:12 17406 σε απάντηση της 17400

    Απ: Function Call Graph

     elam wrote:
    Ένα παράπονο μόνο:
    Αυτό υπήρχε -και υπάρχει- μόνο για C++.
    Δεν υπάρχει όμως σε C# ...!

    Ξέρει κανένας γιατί;


    <rant>
    Υποθέτω για τον ίδιο λόγο που 4 χρόνια τώρα δεν έχουν αξιωθεί να φτιάξουν το Edit & Continue για τη C# με ένα σωρό φτηνές δικαιολογίες. Η χειρότερη που έχω ακούσει ήταν από κάποιον εκ MS Αμερικής σε μια παρουσίαση του VS2005 στην Ελλάδα, όπου με λίγα λόγια είπε "εσείς οι C# developers δεν είχατε ποτέ Edit & Continue, άρα δε θα σας λείψει". Λες και οι όλοι C# developers εμφανίστηκαν το 2002 με παρθενογένεση και δεν έκαναν τίποτα πριν.

    Το Apply Code Changes στο VS6 (από πότε υπάρχει αυτό; ε; από πότε;) πώς τα καταφέρανε; Από ό,τι φαίνεται αυτοί που έκαναν τη VC++ 6 ήταν πολύ πιο μάγκες από την ομάδα της C# στο VS2005.
    </rant>

    Νατάσα Μανουσοπούλου
  •  28-09-2006, 18:11 17437 σε απάντηση της 17406

    Απ: Function Call Graph

    Γενικά, υπάρχει μια ανακολουθία μεταξύ των features που παρέχουν οι γλώσσες. Χωρίς να έχω καμιά ιδιαίτερη πληροφόριση εκ των έσω, πιστεύω ότι σε κάθε νέα έκδοση υπάρχουν κάποια core features που θα πρέπει να έχει κάθε product και κάποια nice-to-have που τα υλοποιούν αν προλαβαίνουν. Υποθέτω το edit & continue στη C# έχει ας πούμε την ίδια τύχη με τα anonymous methods στη VB.ΝΕΤ. Από εκεί και πέρα το θέμα είναι ποιός αποφασίζει για το τι είναι core και το είναι nice-to-have...


    Vir prudens non contra ventum mingit
  •  28-09-2006, 18:43 17439 σε απάντηση της 17437

    Απ: Function Call Graph

    Δυστηχως, το marketing στην Microsoft παιζει ΠΟΛΥ μεγαλο ρολο, ακομα και για το ποια features θα εχει ενα programming language και ποια οχι.

    Π.χ. παλιοτερα ηθελε καθαρα να εχει 2 distinct αγορες, μια για τους C++ προγραμματιστες και μια για τους Visual Basic προγραμματιστες.

    O compiler στη vb εκανε την εμφανιση του στην εκδοση 5 και μη μου πει καποιος τωρα οτι "αυτο μπορουσαν να κανουν, αυτο εκαναν" γιατι θα μπορουσαν να φερουν τη Visual Basic ακομα πιο κοντα στη C++ (κατι σαν το Delphi π.χ.) τους αλλα απλα δεν το ηθελαν. Κατι αντιστοιχο γινεται και τωρα.

    Το θεμα ειναι οτι ο κοσμος (οι προγραμματιστες) τα εχει βαρεθει ολα αυτα τα politics. Το χειροτερο ειναι ομως, οταν σκεφτομαι οτι αν δεν υπηρχε ο ανταγωνισμος (ειτε Java λεγαται αυτο, ειτε Linux ειτε C++/other comnnunities εκτος MS), θα ειμασταν ακομα στη Visual Basic 4 και στη "Visual" C++ 6 που μονο Visual δεν ειναι...
    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
  •  28-09-2006, 22:21 17445 σε απάντηση της 13589

    Απ: Function Call Graph

    Αν ο κώδικας είναι Managed C++ μπορείς να χρησιμοποιήσεις το Reflector για το οποίο υπάρχουν addins που φτιάχνουν διάφορα graphs, μεταξύ των οποίων και call graphs. Γενικώς για C++, το Visual Studio έχει τον Call Browser που εμφανίζει απλά ποιά functions καλεί ένα function ή από ποιά καλείται. Δεν είναι ολόκληρο graph, αλλά κάτι λέει. Για να το εμφανίσεις πήγαινε στο View > Class View και βρες το function που σε ενδιαφέρει. Κάνε δεξί κλικ και προς τη μέση του μενού θα δεις ένα μενού "Call Browser".

    Όσον αφορά τα χαρακτηριστικά των γλωσσών, προσωπικά αν είχα να διαλέξω μεταξύ Edit&Continue από τη μια, generics ή anonymous methods ή delegate inference ή aspects από την άλλη, θα διάλεγα τα δεύτερα. Αυτή την άποψη φαίνεται να έχουν και οι περισσότεροι bloggers που ασχολούνται με C#, οπότε εξηγείται γιατί η Microsoft προτίμησε να το καθυστερήσει. Εξάλλου, οι περισσότεροι προγραμματιστές σε C# έχουν μεγάλη εμπειρία σε άλλες γλώσσες της ίδιας οικογένειας.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  29-09-2006, 02:05 17454 σε απάντηση της 17445

    Απ: Function Call Graph

    Το

    System.Diagnostics.Debug.Assert(false);

    που πετάει το stack trace δεν μπορεί να χρησιμοποιηθεί για ένα "υποτυπώδες" function graph (κατά το debug time βέβαια);
    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  29-09-2006, 11:42 17484 σε απάντηση της 17454

    Απ: Function Call Graph

    Ουτε blogs, ουτε newsgroups ουτε τιποτα απο ολα αυτα επηρεαζουν την πολιτικη του "τι θα περιλαμβανεται και που". Σε αλλες εταιρειες μπορει, στην MS οχι. Δεν την επιασε ξαφνικα ερωτας την Microsoft με το community.

    Οποτε, οπως ελεγε και ο Bruce McKinney, "let's play with what they gave us"...
    Software Engineer, specializes in Microsoft .net/C#, COM, Sql Server and now Python.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems