Stránka 1 z 1

Ladění JIT

Napsal: 04 črc 2012 19:26
od Max-01
Chtěl bych poradit co s tím, už jsem to hledal ale nenašel jsem odpověď.

Informace o vyvolání ladění JIT najdete na konci této zprávy, nikoli v tomto dialogovém okně.

************** Text výjimky **************
System.ArgumentOutOfRangeException: Hodnota 101 není platnou hodnotou argumentu Value. Hodnota Value musí být v rozsahu od 'minimum' do 'maximum'.
Název parametru: Value
v System.Windows.Forms.ProgressBar.set_Value(Int32 value)
v WindowsApplication1.Form1.Timer1_Tick(Object sender, EventArgs e)
v System.Windows.Forms.Timer.OnTick(EventArgs e)
v System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
v System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Načtená sestavení ************** mscorlib
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.269 (RTMGDR.030319-2600)
Základ kódu (CodeBase): file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
top eleven
Verze sestavení: 1.0.0.0
Verze Win32: 1.0.0.0
Základ kódu (CodeBase): file:///C:/Users/TAKA~1/AppData/Local/Temp/Rar$EXb0.945/Top%20Eleven%20Hack.exe
----------------------------------------
Microsoft.VisualBasic
Verze sestavení: 10.0.0.0
Verze Win32: 10.0.30319.1 built by: RTMRel
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.269 built by: RTMGDR
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.233 built by: RTMGDR
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.278 built by: RTMGDR
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.282 built by: RTMGDR
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.1 (RTMRel.030319-0100)
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Windows.Forms.resources
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.235 built by: RTMGDR
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_cs_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
Verze sestavení: 4.0.0.0
Verze Win32: 4.0.30319.235 (RTMGDR.030319-2300)
Základ kódu (CodeBase): file:///C:/windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_cs_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Ladění JIT ************** Aby bylo povoleno ladění JIT, musí konfigurační soubor pro tuto aplikaci nebo počítač (machine.config) mít v oddílu system.windows.forms nastavenou hodnotu njitDebugging.
Aplikace rovněž musí být kompilována s povoleným laděním.

Příklad:

<configuration>
<system.windows.forms jitDebugging="true" /> </configuration>

Je-li ladění JIT povoleno, budou všechny neošetřené výjimky odeslány ladicímu programu JIT, který je registrován v počítači, a nebudou zpracovány tímto dialogovým oknem.

Re: Ladění JIT

Napsal: 04 črc 2012 21:15
od d1amond
Vítej na PC-HELP

K čemu ta chybová hláška patří? Jaký program?

Re: Ladění JIT

Napsal: 04 črc 2012 21:20
od Max-01
Patří to k Top Eleven Hack

Re: Ladění JIT

Napsal: 04 črc 2012 21:24
od d1amond
Neznám. Ale je nás tu víc, tak třeba někdo poradí.

Re: Ladění JIT

Napsal: 04 črc 2012 21:47
od MiliNess
Je to chyba přímo v programu Top Eleven Hack, konkrétně ve volání metody System.Windows.Forms.ProgressBar.set_Value(Int32 value).
Ta metoda nastavuje rozsah progress baru na dialogovém okně aplikace a té metodě je předávána chybná hodnota (101). Metoda prostě může jako parametr přijímat pouze celé kladné číslo do hodnoty 100, autor aplikace to má chybně ošetřeno a tak je při nějaké souhře náhod předáno vyšší číslo vyšší (101), než je možné. To způsobí vznik vyjímky a ukončení aplikace.

Re: Ladění JIT

Napsal: 04 črc 2012 21:51
od Max-01
Aha takže to znamená že já s tím nemůžu nic dělat?

Re: Ladění JIT

Napsal: 04 črc 2012 21:55
od MiliNess
Ty to pravděpodobně neovlivníš, leda že bys náhodou přišel na to, jak změnou nějakého parametru ovlivnit běh programu, tak aby ve výsledku bylo předáno číslo nižší nebo rovné 100. 100% to může ovlivnit pouze autor aplikace, který vlastní zdrojový kód, který může upravit. Zkus novou verzi programu, je-li k dispozici. Před tím nastavováním rozsahu progress baru se zprácovává zpráva od časovače. Tak pokud tam někde nastavuješ nějaký čas běhu, jinou hodnotou bys to třeba mohl ovlivnit. Já ani nevím, k čemu ta aplikace slouží.

--- Doplnění předchozího příspěvku (04 Črc 2012 22:07) ---

Ještě oprava, teď koukám do MSDN a ta metoda nastavuje současnou hodnotu progress baru (ne jeho rozsah). To znamená, že probíhá nějaká časovačem řízená operace, na 100% by se to mělo zastavit, ale ono to jede dál. Proto se pak ten program pokusí nastavit hodnotu progress baru za maximum, které může ukazovat (na 101%)
Kdyby to nebylo v C#, tak bych to i zvládl upravit. V tomhle se vrtat nebudu.

Re: Ladění JIT

Napsal: 04 črc 2012 22:24
od Max-01
Děkuji za odpovědi, skusim se v tom povrtat.