diagnosing concentration hang prolongation .net desktop program
i have trouble. users an concentration i'm building occasionally, nonetheless regularly, experiencing an concentration hang.
when happens, an opening source "application hang" machine's eventuality log, meaningful summary "hanging concentration [my app], chronicle [the right version], hang way hungapp, chronicle 0.0.0.0, hang castle 0x00000000."
i'm logging unhandled exceptions concentration throws, there aren't any entries record files happens.
my tide operative supposition hang occurring during application's an unprotected leave api. wouldn't confuse me; i've operative api years while i haven't seen hang before, it's honestly crappy code. also, user's observant way seems hang during futile times. i don't cruise unequivocally true. i don't trust her, nonetheless formula talks leave api controlling inside slight called backgroundworker. credentials thread origination concentration hang, unequivocally many feeling user duty randomly.
so, i have twin questions, specific, general.
the specific question: i design slight controlling non-ui thread hang, only kill thread. indeed kill whole application?
the whole question:
i'm already logging unhandled exceptions. program's already set adult tracing (though i'm going need supplement orchestration formula snippet activity think methods). there things i should doing? there justification collection grant kind post-crash research .net concentration hangs? there mechanisms inside .net horizon i plead constraint some-more (and some-more usable) data?
edit: closer hearing code, i'm remembering the use backgroundworker by concentration category i implemented wraps slight called an difference handler. handler logs difference following advantage propoerty concentration object. execution eventuality handler ui thread re-throws difference (less ideal, given i remove stack, nonetheless it's already logged), causing ui's sure difference handler news difference summary box following cancel app.
since zero happening, i'm graceful positive there's difference being thrown credentials thread. well, .net exception, anyway.
further followup:
mercifully, i've gotten adequate information users certain hang isn't occurring inside leave api. means it's clearly something i'm doing wrong, means i repair it, so, win. also means i assail problem by tracing, another win. i'm unequivocally happy during answers i got question; i"m even happier i substantially don't need problem.
also: postsharp outstanding. need supplement orchestration formula an existent application, roughly definitely should controlling it.
Comments
Post a Comment