Search code examples
c#lualuainterface

Breakpoints ignored when filename > 60 chars


My lua source file have a filename > 60 chars (with needful non absolute path) When the debugger is running, LuaDebugger.cs performs a breakpoint check:

breakpoint = GetBreakpoint(src, line);

GetBreakpoint call GetFile() but it always returns null because

String.Compare(fileName, file.FileName, StringComparison.OrdinalIgnoreCase) 

fails

when filename = luaDebug.shortsrc 

(shortsrc is defined by [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 60/*LUA_IDSIZE*/)] )

If I use filename = luaDebug.source.toString().Substring(1) it works but I do not want to change luainterface-debugger source code.


Solution

  • Well, if you don't want to change the source code, you have little options, because it's the sourcecode itself what's giving you roblems (I'd assume it's that LUA_IDSIZE const).

    Without modifying the code, the options you have are very limited. They all involve giving up on having more than 60 character paths.