Old 16th September 2010, 13:19   #1
Marshall7a
Junior Member
 
Join Date: Oct 2004
Location: UK
Posts: 33
I've tried attaching a debugger to this but can't really see what's going on.

Call stack of main thread
Address Stack Procedure / arguments Called from Frame
000409FC 00423B83 ? makensis.0044F8C0 makensis.00423B7E
00040A14 00422CE9 ? makensis.00423B60 makensis.00422CE4
00040A88 004239E0 ? makensis.00422650 makensis.004239DB
00040A8C 017B4501 Arg1 = 017B4501
00040AEC 00424236 ? makensis.004238D0 makensis.00424231
00040AF0 01675DD9 Arg1 = 01675DD9 ASCII " !define _${Type} ${label}
00040AF4 00000000 Arg2 = 00000000
00040AF8 00000000 Arg3 = 00000000

!define _${Type} ${label} looks suspicious, as that line is inside the macro but we haven't compiled the first line of the macro yet - otherwise my !echo should have been displayed. So I'm guessing the script is buffered (?)

My colleague tells me the failing instruction is
0044F8D7 |. 8501 |TEST DWORD PTR DS:[ECX],EAX
because ECX is not pointing to accessible memory (ECX=00032A00, EAX=00001630). So definitely something going wrong in makensis.

If I add an ${If} immediately before the ${For} , the error still occurs in the ${For}, but if I add a ${For} then the error occurs in that ${For} instead.

I am at a loss as to how to proceed with this, please someone help!

I've never been very sure about what is right. I'm not even sure that there is such a thing as right. Or wrong. Just places to stand.
Marshall7a is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump