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

 

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

Debug .NET COM+ Components ?

Îåêßíçóå áðü ôï ìÝëïò anjelinio. Τελευταία δημοσίευση από το μέλος cap στις 31-01-2008, 16:26. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-06-2005, 12:23 3025

    Debug .NET COM+ Components ?

    Καλημέρα παιδιά ... παραθέτω μια ερώτηση η οποία με βασανίζει εδώ και καιρό ...

    Υπάρχει τρόπος να κάνω debug σε ένα COM+ Component που έχω γράψει σε .NET;
    Ως τώρα, αναγκαζόμουν να κάνω το debug μου πρώτα, κι αφού βεβαιωθώ οτι όλα πάνε καλά .. να το μετατρέπω σε serviced component. Αλλά αυτο μου φαίνεται μπακαλιά, και δεν πιστεύω οτι γίνεται να μην υπάρχει τρόπος να το κάνω proper debug σαν COM+ ...

    Ευχαριστώ,


    Angel
    O:]
  •  23-06-2005, 13:41 3031 σε απάντηση της 3025

    Re: Debug .NET COM+ Components ?

    Προϋπόθεση είναι να έχουμε το κάθε com+ component σε δικό του ξεχωριστό project, και να τρέχουν όλα τοπικά (κατά το debug).

    Βήμα 1
    Ανοίγουμε τα project properties του κάθε component
    (Configuration Properties -> Debugging -> Start External Program) και βάζουμε [windir]\system32\dllhost.exe (οπου [windir] το windows dir, π.χ. c:\windows)
    Στο πεδίο Command Line Parameters βάζουμε το εξής: /ProcessID:{blabla} οπου blabla το APPLICATIONID που παίρνουμε από το AssemblyInfo (χωρίς εισαγωγικά)

    Βήμα 2
    Απεγκαθιστούμε (αν είναι εγκατεστημένο) το component βγάζοντάς το και απο GAC
    Κανουμε build το component
    Ξαναεγκαθιστούμε το component στο COM+ (εδώ καλά είναι να έχουμε ένα batch αρχείο που να κάνει τις δουλειές αυτές εύκολα και γρήγορα)

    Βήμα 3
    Ξεκινάμε το component με run έχοντας ορίσει το component που θέλουμε να κάνουμε debug ως startup project. Ετσι μπορούμε να δοκιμάσουμε και αν βάλαμε σωστά τις παραμέτρους μια και θα παραμείνει σε run mode μονο άν οι παράμετροι έχουν μπει σωστά, αλλιώς σκάει.

    Τρεχουμε την κύρια εφαρμογή που καλεί το (η τα) component μας, έχοντας βάλει τα breakpoints μας στον κώδικα του component. Προσοχή, αν μας βγάλει ερωτηματικό στα breakpoints και μας λέει οτι "no symbols loaded", απεγκαθιστούμε / χτίζουμε / επανεγκαθιστούμε γιατι κατι ίσως πήγε στραβά.

    Εμένα αυτό μου δουλεύει 10 στις 10.

    Σημείωση: Καλό θα είναι να μπει ένα μεγάλο timeout στο component για να μην μας σκάσει στη μούρη κατά την διάρκεια του debug.



    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  24-06-2005, 11:32 3070 σε απάντηση της 3031

    Re: Debug .NET COM+ Components ?

    Είσαι ο προσωπικός μου ήρωας για σήμερα ! Ευχαριστώ Big Smile

    Angel
    O:]
  •  31-01-2008, 16:26 39754 σε απάντηση της 3070

    Απ: Re: Debug .NET COM+ Components ?

    Ερχομαι μετά από πολυυυυ καιρό, και παρ'όλο που εγώ είχα δώσει απάντηση στο πρόβλημα, να κάνω και εγώ με τη σειρά μου μια ερώτηση σχετικά με το θέμα:

    Οσα έχω γράψει ισχύουν, και έχουν λειτουργήσει. Βρίσκομαι όμως αυτό τον καιρό σε μια διαδικασία προσθήκης ορισμένων features σε μια εφαρμογή που έχει γραφτεί σε serviced components και asp.net front-end (framework 1.1) και αντιμετωπίζω το εξής πρόβλημα:

    Το "run" στο serviced component που θέλω να κάνω debug (σύμφωνα με τις οδηγίες που εγώ είχα δώσει) δεν παίζει σε μια περίπτωση. Για την ακρίβεια, ξεκινάει και το "ρίχνει" και πάλι χωρίς μήνυμα λάθους.

    Το serviced component έχει στηθεί κανονικά, έχει μπει στο GAC και λειτουργεί με server activation και identity ενός συγκεκριμένου user (οχι του interactive user). Σε runtime λειτουργει κανονικότατα.

    (Το ενδεχόμενο να έχω multiple startup projects όπως προτείνει η MS στο MSDN και να ξεκινάω μαζί και την ASP.NET εφαρμογή μου δεν παίζει, μια και η συγκεκριμένη αποτελεί extension μιας εφαρμογής τρίτου κατασκευαστή, σε asp classic και com+, στην οποία πρέπει να γίνει πρώτα login (δεν μπορώ να ξεκινήσω με start page από την asp.net εφαρμογή μου). Οπότε αυτό το σενάριο το ξεχνάω και μου μένει το σενάριο του run του ίδιου του serviced component. )

    Κάτι ξεχνάω, κάτι δεν κάνω καλά, ή κάτι άλλο συμβαίνει. Μπορεί κανείς να βοηθήσει; Εχουν περάσει και κάτι χρόνια :)




    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems