As this help file has got a lot bigger, I am getting a weird effect that it does not always load on the first try due to the amount of data contained in it. I have fiddled the loading order of some of it and it seems to have improved some but its still prone to require a couple of attempts to start it. It runs fine on my Win7 64 and I am not sure if its some quirk in either Win10 or my system setup but on my dev machine its a bit dodgy to start first try.
I even tried it on a very fast SSD but no difference.
Hi Hutch
3 of 4 times it started OK. the last try ended with an exception in a copy routine
00205B22 51 push ecx
00205B23 C1 E9 02 shr ecx,2
00205B26 F3 A5 rep movs dword ptr es:[edi],dword ptr [esi] <--- here
00205B28 59 pop ecx
00205B29 83 E1 03 and ecx,3
00205B2C F3 A4 rep movs byte ptr es:[edi],byte ptr [esi]
because esi is pointing to an uncommited page.
Biterider
Thanks, I can find it in the middle of a dump of compiled high level code, now I have to try and find it in the high level code.
Works fine here on Win7-64. So you have dropped the .if eax {= ecx syntax?
EXAMPLE
.If var1 eq var2
conout "Variables are equal",lf
.ElseIf var1 gt var2
conout "Variable 1 is greater than variable 2",lf
.Else
conout "Nothing to do here",lf
.EndIf
What I miss with ML64 is a proper installer; that could be MasmBasic style (http://masm32.com/board/index.php?topic=94.0) (and I could help with it, all I need is a list of files with their paths, see attachment), but any application is welcome that does not force a potential user to search the forum for installation instructions :cool:
seems to work,but:
Windbg:
Quote
(27bc.278): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
MasmHelp+0x47ae:
002047ae 8908 mov dword ptr [eax],ecx ds:002b:00000000=????????
just before start
I have tracked it down, a resource memory limitation, what to do about it is another matter as its a high level language statement in PowerBASIC that I used to create the help file engine. Its not related to either the stack memory or using the /LARGEADDRESSAWARE option so I have to go looking to see if there is some setting that can handle the large amount of RTF data in the help file.
JJ,
if eax {= ecx syntax?
.if eax ~= ecx ; alternate Vasily notation.
How is your symbolic logic these days ? :tongue:
I actually like the wrapper that gives,
.If eax ne ecx
Serious comparisons are done in mnemonics, .if style comparisons are for high level code.
Found it, a duplicate resource entry with a non-existent ID. With all of the joys of picking fly specs out of pepper, it vurkz.
This is the fixed version, without the error it seems to be fast enough and now loads reliably.
:undecided:
Quote
Microsoft (R) Windows Debugger Version 10.0.19041.1 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: C:\Users\luce\Downloads\MasmHelp.exe
************* Path validation summary **************
Response Time (ms) Location
Deferred srv*
Symbol search path is: srv*
Executable search path is:
ModLoad: 00000000`00200000 00000000`00268000 image00000000`00200000
ModLoad: 00007ffe`114a0000 00007ffe`11690000 ntdll.dll
ModLoad: 00000000`77640000 00000000`777da000 ntdll.dll
ModLoad: 00007ffe`10560000 00007ffe`105b5000 C:\WINDOWS\System32\wow64.dll
ModLoad: 00007ffe`0ff40000 00007ffe`0ffbd000 C:\WINDOWS\System32\wow64win.dll
(12b0.2ea4): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00007ffe`1157119c cc int 3
0:000> G
ModLoad: 00000000`77630000 00000000`77639000 C:\WINDOWS\System32\wow64cpu.dll
ModLoad: 00000000`76430000 00000000`76510000 C:\WINDOWS\SysWOW64\KERNEL32.DLL
ModLoad: 00000000`76c40000 00000000`76e3e000 C:\WINDOWS\SysWOW64\KERNELBASE.dll
(12b0.2ea4): WOW64 breakpoint - code 4000001f (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
ntdll_77640000!LdrpDoDebuggerBreak+0x2b:
776eeaa2 cc int 3
0:000:x86> g
(12b0.2ea4): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
MasmHelp+0x3f4e:
00203f4e 8908 mov dword ptr [eax],ecx ds:002b:00000000=????????