Hi Biterider,
I have a problem with DebugCenter.
On a Pentium IV, WinXP SP2 machine, I am using RadAsm 2.1.0.8, and ObjAsm 1.3e.
First I executed Make_Lib_P3.bat, and after that I built the DebugCenter Project.
Then I tried your Demo01A, which should send some output to the DebugCenter.
The only output which is sent to the DebugCenter is:
I also tried it on another machine, with the same results.
The next try was in a project of my own,
Although I set up the debug system with:
the following line didn't send a message to the DebugCenter.
The only result was the same result as before.
What can be wrong?
Friendly regards,
mdevries.
I have a problem with DebugCenter.
On a Pentium IV, WinXP SP2 machine, I am using RadAsm 2.1.0.8, and ObjAsm 1.3e.
First I executed Make_Lib_P3.bat, and after that I built the DebugCenter Project.
Then I tried your Demo01A, which should send some output to the DebugCenter.
The only output which is sent to the DebugCenter is:
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
I also tried it on another machine, with the same results.
The next try was in a project of my own,
Although I set up the debug system with:
SysSetup OOP_WINDOWS, DEBUG(WND)
the following line didn't send a message to the DebugCenter.
DbgText "Debug"
The only result was the same result as before.
What can be wrong?
Friendly regards,
mdevries.
Hi mdevries
ObjectID = 250 is the Registry Key that has problems reading something.
I guess that something went wrong on the installation. Please check 2 things:
- The installer should have created 3 environment variables:
MASM32_PATH=C:\Masm32
OA32_PATH=H:\ObjAsm32
INCLUDE=H:\ObjAsm32;H:\ObjAsm32\Resources;H:\ObjAsm32\Resources\Dialogs
Check if they were created and if the paths are correct for your system.
- The registry key was wrong
Registry Key: HKEY_LOCAL_MACHINE\SOFTWARE\MASM32\DebugCenter
String entry: Path=H:\ObjAsm32\Projects\DebugCenter\DebugCenter.exe
Check them also and the paths for your system.
In the Help directory you will find a detailed explanation of the installation process that can help you (install.txt).
If the problem persists, send me an extract of the registry key.
Regards,
Bitrider
ObjectID = 250 is the Registry Key that has problems reading something.
I guess that something went wrong on the installation. Please check 2 things:
- The installer should have created 3 environment variables:
MASM32_PATH=C:\Masm32
OA32_PATH=H:\ObjAsm32
INCLUDE=H:\ObjAsm32;H:\ObjAsm32\Resources;H:\ObjAsm32\Resources\Dialogs
Check if they were created and if the paths are correct for your system.
- The registry key was wrong
Registry Key: HKEY_LOCAL_MACHINE\SOFTWARE\MASM32\DebugCenter
String entry: Path=H:\ObjAsm32\Projects\DebugCenter\DebugCenter.exe
Check them also and the paths for your system.
In the Help directory you will find a detailed explanation of the installation process that can help you (install.txt).
If the problem persists, send me an extract of the registry key.
Regards,
Bitrider
Hi Biterider,
I checked the 3 environment variables.
They all exist, and the paths are correct.
The only thing different is that the Include environment variable has an extra: C:\masm32\include
This is an extract of the registry key:
As you can see I installed the ObjAsm32 package under c:\masm32
During installation of ObjAsm32 I followed the guidelines in the install.txt file you mention. I checked the file again.
As far as I can see, nothing went wrong, but maybe I am mistaken.
Friendly regards,
mdevries.
I checked the 3 environment variables.
They all exist, and the paths are correct.
MASM32_PATH="C:\Masm32"
OA32_PATH="C:\Masm32\ObjAsm32"
INCLUDE="C:\masm32\include;C:\Masm32\ObjAsm32;C:\Masm32\ObjAsm32\Resources;C:\Masm32\ObjAsm32\Resources\Dialogs"
The only thing different is that the Include environment variable has an extra: C:\masm32\include
This is an extract of the registry key:
Windows Registry Editor Version 5.00
"Path"="C:\\masm32\\ObjAsm32\\Projects\\DebugCenter\\DebugCenter.exe"
As you can see I installed the ObjAsm32 package under c:\masm32
During installation of ObjAsm32 I followed the guidelines in the install.txt file you mention. I checked the file again.
As far as I can see, nothing went wrong, but maybe I am mistaken.
Friendly regards,
mdevries.
Apparently there's something odd going on with the OA32 installer - it seems that sometimes not ALL the keys are created.
I am not sure that's the problem in your case, but regardless, please find attached a .REG file sent from Biterider to me which contains all the registry keys.. note that if you decide to install these keys, you may have to edit some of them using RegEdit depending on your filepaths.
Also note that this file won't set the Environmental Variables.
Finally, note that I had to rename the file extension (from .REG to .TXT) in order to attach the file here, please correct this yourself.
I am not sure that's the problem in your case, but regardless, please find attached a .REG file sent from Biterider to me which contains all the registry keys.. note that if you decide to install these keys, you may have to edit some of them using RegEdit depending on your filepaths.
Also note that this file won't set the Environmental Variables.
Finally, note that I had to rename the file extension (from .REG to .TXT) in order to attach the file here, please correct this yourself.
Also, you can edit those paths before you merge the .reg there and eliminate the need to use regedit... Just open it as txt edit them, rename to .reg, and merge it.
Thanks Homer,
I used the registry file you attached, and after the update the key looks like this:
Now it works.
So I agree, something must have gone wrong during the installation of ObjAsm32.
I guess it must be intrigueing for Biterider to find the reason why, and correct it in the installation process.
Friendly regards,
mdevries.
I used the registry file you attached, and after the update the key looks like this:
Windows Registry Editor Version 5.00
"Path"="C:\\masm32\\ObjAsm32\\Projects\\DebugCenter\\DebugCenter.exe"
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
"Left"=dword:00000003
"Right"=dword:0000007e
"Language"=dword:00000352
"BmpZoom"=dword:00000040
"Version"="1.0.1"
Now it works.
So I agree, something must have gone wrong during the installation of ObjAsm32.
I guess it must be intrigueing for Biterider to find the reason why, and correct it in the installation process.
Friendly regards,
mdevries.
I had the same problem, using RADASM and OBJASM32, when compling demo01a.rap. My computer's OS is Windows ME.
After using Homer's solution, things became better:
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
After using Homer's solution, things became better:
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
Hi guidry
What is your current problem. From your registry extract, I see that you have some missing entries.
First try to run DC from its DebugCenter.exe.
If it doesn't help, complete the entries manually like the printout of mdevries post.
Regards,
Biterider
What is your current problem. From your registry extract, I see that you have some missing entries.
First try to run DC from its DebugCenter.exe.
If it doesn't help, complete the entries manually like the printout of mdevries post.
Regards,
Biterider
Thank you. These keys are HOMER's solution, not mine.
I added these keys, and my problems seems get resloved.
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
I¦nbsp; encountered the same problem as Mdevries's.
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
.....
Then I surfed on the web, logged in here and found the solution by Homer.
After that I entered these register keys and solved my problem.
And I post above in the hope that you could possibly take a look and have a check at OBJASM installer, to make OBJASM better.
Then you logged in, and gave me an advice.
It's so nice of you to help the newbees like me.
OBJASM is very cool. It's not easy for a single person to design such
great project, OOP in ASM. I appreciate you and your work.
I wish you could keep the good work on.
Microsoft has released their new Assembler, but limited the licence to educational purpose only.
So I am eager to know how will you do? Do you have any plan for another Assembler? Keep going on. Hope to see OBJASM is growing forever.
I added these keys, and my problems seems get resloved.
"State"=dword:00000003
"Top"=dword:00000052
"Bottom"=dword:00000352
"TxtZoom"=dword:00000040
"Directory"="C:\\"
I¦nbsp; encountered the same problem as Mdevries's.
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
Object ID = 0, Error Code = 0
Object ID = 250, Error Code = 2
.....
Then I surfed on the web, logged in here and found the solution by Homer.
After that I entered these register keys and solved my problem.
And I post above in the hope that you could possibly take a look and have a check at OBJASM installer, to make OBJASM better.
Then you logged in, and gave me an advice.
It's so nice of you to help the newbees like me.
OBJASM is very cool. It's not easy for a single person to design such
great project, OOP in ASM. I appreciate you and your work.
I wish you could keep the good work on.
Microsoft has released their new Assembler, but limited the licence to educational purpose only.
So I am eager to know how will you do? Do you have any plan for another Assembler? Keep going on. Hope to see OBJASM is growing forever.
Hi Biterider,
I found something peculiar on DbgText, DbgWarning etc.
Because I have some problems getting Homer's GameDev demo's running on my laptop, I put some extra DbgText lines in his code like the following, in order to find the source of the trouble.
Consider these lines:
It seems a little too much to do the pushes and the pops, because your debug macro's do the same at the beginning and the end of the macro's, but nevertheless this should not be a problem, should it?
I found the following results:
- If DebugCenter is already running, there is no output to DebugCenter.
- If DebugCenter is not yet running, the following error message pops up:
I was curious whether the problem came from pushf or from pusha, or maybe from both:
The results after a few tests with different pushes:
- Only pushf was the source of the error.
I can't figure out why the pushf would be a problem?
Do you see the same strange behaviour on your computer?
I tested it on my desktop, and on my laptop, both with the same results.
Friendly regards,
mdevries.
I found something peculiar on DbgText, DbgWarning etc.
Because I have some problems getting Homer's GameDev demo's running on my laptop, I put some extra DbgText lines in his code like the following, in order to find the source of the trouble.
Consider these lines:
pushf
pusha
DbgText "Test 1"
popa
popf
It seems a little too much to do the pushes and the pops, because your debug macro's do the same at the beginning and the end of the macro's, but nevertheless this should not be a problem, should it?
I found the following results:
- If DebugCenter is already running, there is no output to DebugCenter.
- If DebugCenter is not yet running, the following error message pops up:
Registration error.
Start DebugCenter manually...
I was curious whether the problem came from pushf or from pusha, or maybe from both:
The results after a few tests with different pushes:
- Only pushf was the source of the error.
I can't figure out why the pushf would be a problem?
Do you see the same strange behaviour on your computer?
I tested it on my desktop, and on my laptop, both with the same results.
Friendly regards,
mdevries.
Hi mdevries
There is a simple reason why this happens. When you use pushf + pusha you are pushing (1 + 8 ) 9 words onto the stack. That means that the stack remains unaligned and some of the internals of the macros doesn’t work correctly. Usually you use pushfd + pushad that pushes 9 dwords onto stack and it keeps aligned.
Now if you remove the pushf all is OK again!
Basically, the DbgXXX macros are designed to do not alter the context in witch they are executed, so they don’t require to save any register or flags.
Regards,
Biterider
There is a simple reason why this happens. When you use pushf + pusha you are pushing (1 + 8 ) 9 words onto the stack. That means that the stack remains unaligned and some of the internals of the macros doesn’t work correctly. Usually you use pushfd + pushad that pushes 9 dwords onto stack and it keeps aligned.
Now if you remove the pushf all is OK again!
Basically, the DbgXXX macros are designed to do not alter the context in witch they are executed, so they don’t require to save any register or flags.
Regards,
Biterider
Hi Biterider,
Thanks for your explanation. I understand the pushf problem now: I used is the 16 bit version. Stupid! :lol:
I have to keep the stack aligned on a 32 bit boundary: pushfd does just that.
Friendly regards,
mdevries.
When you use pushf + pusha you are pushing (1 +? 9 words onto the stack.
Thanks for your explanation. I understand the pushf problem now: I used is the 16 bit version. Stupid! :lol:
I have to keep the stack aligned on a 32 bit boundary: pushfd does just that.
Friendly regards,
mdevries.
Hi mdevries
I modified the debug macros to make them insensible to stack missalignments. Attached you can find the 2 modified files.
Regards,
Biterider
I modified the debug macros to make them insensible to stack missalignments. Attached you can find the 2 modified files.
Regards,
Biterider
Hi Biterider,
I appreciate it. Thanks.
Friendly regards,
mdevries.
I appreciate it. Thanks.
Friendly regards,
mdevries.
BiteRider,
I had the same problem as well when I reinstalled everything (on my new computer). I eventually got it working, but through alot of fumbling around trying to determine if it was the DegubCenter or something in the compile. If I remember correctly, I manually called it to resize from the taskbar and the next time I ran it it worked.
From what I'm reading above, it would appear I did not get the registry key installed properly either. Maybe you should have 'first time' check and add the key programatically from DebugCenter.
Regards,
:NaN:
I had the same problem as well when I reinstalled everything (on my new computer). I eventually got it working, but through alot of fumbling around trying to determine if it was the DegubCenter or something in the compile. If I remember correctly, I manually called it to resize from the taskbar and the next time I ran it it worked.
From what I'm reading above, it would appear I did not get the registry key installed properly either. Maybe you should have 'first time' check and add the key programatically from DebugCenter.
Regards,
:NaN:
Hi
I'm working on it.
Regards,
Biterider
I'm working on it.
Regards,
Biterider