Autor ::Libor L.A. Poslaná :: 24.07.2019 20:06:11 Predmet ::Emulátor padá při dosažení Breakpointu
Když si nastavím breakpoint ve vašem emulátoru, tak zhruba při třetím až pátém najetí na tento breakpoint spadne emulátor s dvěma samostatnými hlášeními:
1) Access violation at adress 0071E25A in module PMD85Emu.exe. Read of address 00000010.
2) Cannot change Visible in OnShow or OnHide.
Taky to souvisí s tím, že po pádu emulátoru a jeho nuceném odstřelení a znovuspuštění není aktivován již zmíněný breakpoint. Je sice zaškrtnutý a nikdo jej od posledně nevypnul, nicméně není aktivní. Až oblíbený postup VYPNOUT-ZAPNOUT znovu aktivuje funkčnost tohoto breakpointu.
Mohu potvrdit, že to padá s i bez zapnuté podpory myši.
verze emulátoru: 3.1.5.204
Správa
Autor ::Roman Bórik Poslaná :: 25.07.2019 08:16:07 Predmet ::Re: Emulátor padá při dosažení Breakpointu
Aj mne sa viac krát stalo, že Emulátor pri jeho zatváraní zobrazil hlásenie Access violation, a to vždy iba vtedy, keď som v ňom debuggoval nejaký program (či som mával zapnuté aj nejaké breakpointy, už neviem). Pri "normálnom" používaní Emulátora nikdy.
Keď som mal spustený Emulátor cez IDE, aby som mohol debuggovať kód samotného Emulátora, tak sa mi pri takejto chybe IDE zastavilo v nejakej "borlandovskej" knižnici a problém boli "neinicializované" Audio buffre, ktoré sa práve v tomto okamihu ale uvoľňovali (ako som písal, stávalo sa mi to pri zatváraní okna celej aplikácie).
Snažil som sa prísť na to, v čom môže byť problém, ale na nič som neprišiel. Všade mám kontroly na "Null Pointre", ale zjavne v tom budú "mať prsty" aj ďalšie vlákna, ktoré majú niečo spoločné s Audiom.
Ak sa to tebe stalo za behu, tak to je čudné. Môžem sa to pokúsiť nasimulovať, ale takéto veci sa ťažko reprodukujú bez konkrétnych krokov.
Správa
Autor ::Libor L.A. Poslaná :: 25.07.2019 15:43:58 Predmet ::Re: Emulátor padá při dosažení Breakpointu
Příkazem monitoru SUB jsem zadal sekvenci:
OUT F6
JMP 0000
Tahle způsobila pád po 25 zastaveních na breakpointu.
Potom jsem zkusil:
IN F6
XRI 04
OUT F6
JMP 0000
Tady nastal pád po 14 zastaveních.
Vypadá to, že se složitostí či počtem zápisů do zvukového buferu či knihovny se zkracuje doba zaplnění a tedy i pádu systému.
PS: Breakpoint je nastaven na adresu 0000 a ty uvedené programy jsem spustil pomocí Shift+DEL.