You don't seem to understand. It's not even a workaround if it isn't guaranteed to work. It's just random that it works on your machine frequently.fryquez wrote: Sun Mar 10, 2024 5:49 pmYes, this is no fix, but a workaround.Fred wrote: Sun Mar 10, 2024 11:15 am I strongly disagree with this 'fix', your app will crash anyway if the target computer has a lot of memory. Accessing pointer with a long read on x64 is wrong and should be fixed, but if you like unstable apps, feel free to apply this kind of hacks.
If he can't fix his code, he should stay with the old behavior of low address memory allocation.
Crash with PB 6.10 b6 with function PeekS / PeekL
-
- Addict
- Posts: 2344
- Joined: Mon Jun 02, 2003 9:16 am
- Location: Germany
- Contact:
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
bye,
Daniel
Daniel
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
Daniel, please don't post such nonsense. What's your solution for Barry?
His posts make a total clear that he can't fix his code - and not even find the problematic locations in the code.
Avoid high memory addresses is bad, but what else can he do. Sticky with PB 6.04 forever?
His posts make a total clear that he can't fix his code - and not even find the problematic locations in the code.
Avoid high memory addresses is bad, but what else can he do. Sticky with PB 6.04 forever?
-
- Addict
- Posts: 2344
- Joined: Mon Jun 02, 2003 9:16 am
- Location: Germany
- Contact:
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
Your workaround doesn't avoid allocation of memory with higher address regions, it just doesn't randomly relocate your addresses. If you have plenty of memory used you'll land in 64bit memory even with high entropy disabled. High entropy virtual addresses means you have chaotic addresses, but disabling it isn't implying you'll end up with only 32 bit addresses.fryquez wrote: Sun Mar 10, 2024 6:42 pm Daniel, please don't post such nonsense. What's your solution for Barry?
His posts make a total clear that he can't fix his code - and not even find the problematic locations in the code.
Avoid high memory addresses is bad, but what else can he do. Sticky with PB 6.04 forever?
bye,
Daniel
Daniel
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
That's right, but this feature is the main reason why his crashes occur with PB 6.10.DarkDragon wrote: Sun Mar 10, 2024 6:48 pm High entropy virtual addresses means you have chaotic addresses, but disabling it isn't implying you'll end up with only 32 bit addresses.
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
If you refer to this https://www.purebasic.fr/english/viewtopic.php?t=83721, it happens which 6.04 as well from what I understand
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
Yeah, it's weird. I might have to avoid the line-numbering approach and write to a file when every procedure starts (as someone else said), so at least I can see which procedure the app "stopped" in. This will be annoying to code, though, as I have hundreds of procedures in different IncludeFiles.
@Fred: Maybe a future release can have the current procedure name recorded somewhere in the debugger, similar to how a line number is recorded for a crash?
@Fred: Maybe a future release can have the current procedure name recorded somewhere in the debugger, similar to how a line number is recorded for a crash?
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
There is some constants which can help you like #PB_Compiler_Procedure, #PB_Compiler_Filename, #PB_Compiler_Line
You can use a macro to ease the thing if you put this everywhere
Code: Select all
Procedure MyProc()
Debug #PB_Compiler_Procedure + " " + #PB_Compiler_Filename + " " + #PB_Compiler_Line
EndProcedure
MyProc()
Re: Crash with PB 6.10 b6 with function PeekS / PeekL
That looks interesting! Thanks for the idea, Fred. I will see what I can do with it. It gives me hope! 
