[so] [tema5] SetGPFHandler mania

Andrei Deftu andreideftu at yahoo.com
Thu Jan 3 17:49:03 EET 2008


Buna. Merci pt raspuns. Handler-ul meu intoarce
EXCEPTION_CONTINUE_EXECUTION, dar ma gandesc ca
problema este urmatoarea:

1. AddVectoredExceptionHandler(1, GPFHandler)
2. AddVectoredExceptionHandler(0, ExceptionHanlder)
3. AddVectoredExceptionHandler(1, GPFHandler)

Se observa ca este trimis parametrul 1 la setarea
handler-ului in test (adica se vrea ca el sa fie
verificat prima data - normal). Al meu se va verifica
ultima data - normal. Pana aici ok, dar daca mai vine
un apel cu parametru 1, atunci se baga si handler-ul
asta ca musca in lapte si vine in fata handler-ului
meu pentru ca are prioritate mai mare (cel putin asa
functioneaza la mine).

Oricum:
1. implementarea AddVectoredExceptionHandler presupun
ca este diferita de la Kernel32.dll la Kernel32.dll
(nu m-ar mira)
2. da de ce ???? :((( e mostruos cum e facut testul in
conditiile astea. Raman la parerea mea: nu are ce
cauta setarea handler-ului in main-ul din test.

--- Catalina Caloian <catalina.caloian at gmail.com>
wrote:

> Buna.
> 
> Dupa parerea mea daca in handler-ul din tema intorci
> 'EXCEPTION_CONTINUE_EXECUTION' n-ar trebui sa fie
> nici o problema.
> 
> Mai intai e instalat pe prima pozitie handler-ul din
> tester, in 'main'; apoi
> se ruleaza fiecare test – se apeleaza mai intai
> 'VirtualInit', deci se
> inregistreaza handler-ul din tema, inaintea celui
> inregistrat anterior; apoi
> se inregistreaza din nou cel din tester. O sa obtii
> in final:
> handler_tester, handler_tema, handler_tester; daca
> din handler-ul tau se
> iese cu 'EXCEPTION_CONTINUE_EXECUTION' cum e si
> normal, nu se mai executa al
> doilea handler din tester.
> 
> Catalina
> 
> 
> On 12/29/07, Andrei Deftu <andreideftu at yahoo.com>
> wrote:
> >
> > Salut.
> >
> > Testul de windows:
> >
> > * SetGPFHandler()
> > **** TestArguments()
> > **** RunTest1()
> > ********* SetGPFHandler()     <--
> > ********* // bla
> > ********* ReleaseGPFHandler()
> > **** RunTest2()
> > ********* // etc
> >
> > In RunTest1() se inregistreaza inca o data
> handler-ul.
> > Astfel, la un page fault intra de 2 ori in
> > GPFHandler(), incrementand de 2 ori gpfHandlerVar,
> si
> > apoi intra si in handler-ul din tema. Bineinteles
> ca
> > numarul de exceptii gasite nu este cel corect (e
> mai
> > mare cu 1).
> > Anyway, please have mercy si scoateti
> SetGPFHandler()
> > din main() care oricum nu are ce cauta acolo.
> >
> >
> >
> >
>
____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
> >
>
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> > _______________________________________________
> > so mailing list
> > so at cursuri.cs.pub.ro
> >
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
> >
> > _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
> 



      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping


More information about the so mailing list