Page 1 of 1

[4.30 x64] PB_DEBUGGER_Unicode not working?

Posted: Thu Feb 26, 2009 9:57 am
by lexvictory
With this compiled into a userlib:

Code: Select all

Import ""
PB_DEBUGGER_SendError(Message.p-ascii)
PB_DEBUGGER_SendWarning(Message.p-ascii)
PB_DEBUGGER_FileExists(*Filename)
PB_DEBUGGER_CheckLabel(*Label)
PB_DEBUGGER_Unicode.i
EndImport

ProcedureDLL TB_DebugCheckUnicode()
  ProcedureReturn PB_DEBUGGER_Unicode
EndProcedure
Using TB_DebugCheckUnicode() from inside another userlib, it always returns 0 (whether the userlib and/or test program is/are compiled in unicode mode).
Even using PB_DEBUGGER_Unicode directly in ASM, it's always 0.

I don't get any unresolved externals, so do correct me if I have done something wrong.

Posted: Thu Feb 26, 2009 1:28 pm
by freak
Well, it works fine from all the C libs.

Are you sure TailBite isn't prefixing it to become a local variable or something like that ?

Posted: Fri Feb 27, 2009 5:43 am
by lexvictory
no prefix:

Code: Select all

PB_TB_DebugCheckUnicode:
PS26=48
SUB    rsp,40
; ProcedureReturn PB_DEBUGGER_Unicode
MOV    rax,qword [PB_DEBUGGER_Unicode]
JMP   _EndProcedure27
; EndProcedure
XOR    rax,rax
_EndProcedure27:
ADD    rsp,40
RET

Posted: Sun Mar 01, 2009 11:36 am
by lexvictory
For some strange reason it's working fine today - ASM code is even the same...
Yesterday not even doing an If PB_DEBUGGER_Unicode in the TailBite wrapper function for PB_DEBUGGER_SendError worked...

:shock:

Sorry to be of bother.


However, there is a prefixed PB_DEBUGGER_Unicode symbol in the shared asm (that doesn't get used), presumably because this gives me a symbol already defined error compiling with F5:

Code: Select all

Import "" 
PB_DEBUGGER_Unicode.i
EndImport

Procedure test()
  ProcedureReturn PB_DEBUGGER_Unicode
EndProcedure