RemedyBG » Forums » RemedyBG 0.1.6.0
x13pixels
107 posts / 1 project

None

#20503 RemedyBG 0.1.6.0
3 months ago Edited by x13pixels on Feb. 16, 2019, 2:20 p.m. Reason: Initial post

RemedyBG 0.1.6.0 has been released on itch.io.

* Reworked watch window user interface code. This includes support for keyboard controls.
* Watch window structure/pointer dereferencing and array indexing
* If the PDB that is specified in the image (EXE/DLL) is not found on disk, then we scan the
image's directory for the first (and most likely only) PDB with a matching GUID and use that
instead.
* Removed ImGui's assertions from a release configuration. This fixes a dialog box that pops up if
the configured font cannot be found on disk.
* Text windows are now reloaded upon change.

Note that this is the first version that requires a minimum payment to download. If, for some reason, you've already made a donation and cannot download the latest release please email me and I will send you a key.

--
George
x13pixels
107 posts / 1 project

None

#20529 RemedyBG 0.1.6.0
3 months ago

Posted a smaller, out-of-band, release, 0.1.6.1, to fix a reported crash. I also slipped in a change to support high DPI monitors.
direbroom
7 posts
#20531 RemedyBG 0.1.6.0
3 months ago

Hi,

I've just tried 0.1.6.1 and I crash 100% as soon as I hit a breakpoint.
Either starting with F10 or setting a BP on main and F5 results in a division by 0.

Is there anything I can/should do to help you figure out what's going on? Since I don't have the symbols for it I don't know which function is causing the issue, however the assembly surrounding the crash is:

1
2
3
4
5
6
7
8
33 D2                xor         edx,edx  
8B C1                mov         eax,ecx  
F7 F3                div         eax,ebx   <-- div by 0, 100% for me  
44 8B C2             mov         r8d,edx  
44 8B CA             mov         r9d,edx  
48 8D 14 92          lea         rdx,[rdx+rdx*4]  
48 03 D2             add         rdx,rdx  
49 83 3C D3 00       cmp         qword ptr [r11+rdx*8],0  


The executable I was using is a simple hello world.

1
2
3
4
5
6
7
#include <stdio.h>

int main()
{
    printf( "Hello World\n" );
    return 0;
}


My current PC is on Win10 version 10.0.16299.

cheers!

ps: I've also tried 0.1.6 afterwards and I'm facing the same crash.
x13pixels
107 posts / 1 project

None

#20532 RemedyBG 0.1.6.0
3 months ago

direbroom: I will take a look. Thanks for the information.
x13pixels
107 posts / 1 project

None

#20533 RemedyBG 0.1.6.0
3 months ago

The assembly was enough. Thanks.

It looks like this is a case where Visual Studio is generating a partial PDB file (/Zi vs. /Z7 compiler switch, maybe). We've loaded up the partial PDB but it doesn't contain any useful symbols. The divide by zero is from a mod we are doing in the hash table used for symbol look ups.

I've added a catch for this case so it doesn't crash.

--
George
direbroom
7 posts
#20535 RemedyBG 0.1.6.0
3 months ago

You gave me an idea and I fiddled around with the compiler/linker settings.

Turns out it was a linker setting:
If I link with "/DEBUG:FULL" or no debug info it works irregardless of the compiler flag. If I use any other debug info flag ( "/DEBUG" or "/DEBUG:FASTLINK" ) I get the crash.

Thanks for looking into this!

cheers

ps: now that I have a working setup I have a minor feature request:
F10/F11 should immediately break at the entry point/the first asm instruction (they seem to be doing the same as F5 at startup)
x13pixels
107 posts / 1 project

None

#20551 RemedyBG 0.1.6.0
3 months ago

direbroom: F10/F11 will be fixed in next drop for non-canonical entry points (e.g., main, WinMain, etc.).
alexpana
Alexandru Pana
1 posts
#20557 RemedyBG 0.1.6.0
3 months ago

Is the source code included with the purchase?
Recyrillic
Pascal Beyer
4 posts
#20558 RemedyBG 0.1.6.0
3 months ago

Hey there. Here is some stuff I noticed playing around with 0.1.6.1:
- If there is enough stuff in the output, it allways jumps to the bottom even if you scroll it up.
- There is some problem stepping into functions that you do not have the source code to, (eg VirtualAlloc or FreeConsole are the ones I tested). It gets into an infinite loop.
- opening a void** (i.e. a HANDLE) in the watch window crashes the program.

Some other more "feature-like" stuff:
- right now it seems that you can't step into an executable that you do not have the source code to, this might be related to the other observation, that F10 seems to do the same thing as F5 for start up.
- the page up/ page down for the memory widget should snap to the top/ bottom so that you can view memory along a page boundary more easily.

That's all. Cheers and thanks for doing this.
mrmixer
Simon Anciaux
597 posts
#20559 RemedyBG 0.1.6.0
3 months ago

Small feedback:
- Alt GR should not be treated as alt. On my layout Alt GR + space is the combination for underscore and I use underscore in nearly every identifier. In the watch window it changes the focus to the tabs as soon as I release space so it's hard to type anything. And it's harder then necessary to comeback to the edit field using only the keyboard.
- When double clicking on an expression to start editing it, it would be nice to be able to also click on the line to place the cursor.
- When I press Alt or Alt GR when in another windowed application, RemedyBG still get the messages, and the UI is updated which is distracting (tabs lights up).
- The new breakpoint button reads "New..", it's missing one dot.
x13pixels
107 posts / 1 project

None

#20561 RemedyBG 0.1.6.0
3 months ago

@alexpana: The source code is not included in the purchase.
x13pixels
107 posts / 1 project

None

#20562 RemedyBG 0.1.6.0
3 months ago

Recyrillic

- If there is enough stuff in the output, it allways jumps to the bottom even if you scroll it up.


I'll get that corrected. Thanks!

Recyrillic

- There is some problem stepping into functions that you do not have the source code to, (eg VirtualAlloc or FreeConsole are the ones I tested). It gets into an infinite loop.


Looking at this now.

Recyrillic

- opening a void** (i.e. a HANDLE) in the watch window crashes the program.


Noticed this as well and have fixed. Next release will be this Saturday latest.

Recyrillic

Some other more "feature-like" stuff:
- right now it seems that you can't step into an executable that you do not have the source code to, this might be related to the other observation, that F10 seems to do the same thing as F5 for start up.


Fixed for next release. Will now jump to entry point as specified in the PE header.

Recyrillic

- the page up/ page down for the memory widget should snap to the top/ bottom so that you can view memory along a page boundary more easily.


Now on the list. Appreciate the feedback!
x13pixels
107 posts / 1 project

None

#20563 RemedyBG 0.1.6.0
3 months ago

mrmixer

- Alt GR should not be treated as alt. On my layout Alt GR + space is the combination for underscore and I use underscore in nearly every identifier. In the watch window it changes the focus to the tabs as soon as I release space so it's hard to type anything. And it's harder then necessary to comeback to the edit field using only the keyboard.


Sorry about that. I'll get that fixed shortly.

mrmixer

- When double clicking on an expression to start editing it, it would be nice to be able to also click on the line to place the cursor.


Now on the TODO list.

mrmixer

- When I press Alt or Alt GR when in another windowed application, RemedyBG still get the messages, and the UI is updated which is distracting (tabs lights up).


I'll get that corrected.

mrmixer

- The new breakpoint button reads "New..", it's missing one dot.


Thanks much.