Question(s)
1) Am I doing anything obviously wrong as the reason for why I am not hitting the breakpoints when the function is called?
2) What are areas that I can troubleshoot for these types of issues?

Thanks.

UPDATE:
In scouring the forums, and looking at the debugger.lua client file, it seems that any chunk loaded using lua_load() is considered dynamic code and is not supported. The line in debugger.lua states: "Dynamic code (compiled with load or loadstring) is not handled (the debugger will step over it, like C code)." The JNLua call that I use to load the chunk from the file calls lua_load(). If this is the case, and the code is actually compiled to byte code on the stack on load, this would be the reason the debugger can't hit the breakpoint.

Hi Patrick,
You're right, currently the debugger is not able to manage "dynamic code". (but not sure it's your case)

By default, to identify lua file, debugger client and server use the absolute path of the file.
(This could change if you not use the default source mapping : local resolution => see launch configuration Lua Attach to Application)

To retrieve the absolute path of a lua file, the "Lua Debugger Client", use debug.getinfo(1).source.
If it is a absolute path, there nothing to do.
If this is a relative path, we try to retreive the absolute path by concatenate working directory + relative path from debug.getinfo(1).source

A regular problem could be that working directory is not guess correctly so you could set it by using the DBGP_WORKINGDIR environment variable or passing it as parameters

Maybe the problem could be also solved by using absolute path when you load the file :

luaState.load(
Gdx.files.internal(scriptFileName).read(),
Gdx.files.internal(scriptFileName).file().getAbsolutePath(), => you could path the absolute path here maybe this will works. (not sure getAbsolutePath is exactly the good method :p)
"bt"); //read as binary or text

As for my environment, I am using the default source mapping, local resolution.

I set the DBGP_WORKINGDIR to my Lua script project directory, and just for testing, I passed in the entire absolute path. The breakpoint was still not hit.

I also (just for testing) passed in the name of the file as the absolute path in the LuaState.load() call in my Java code. "debug.getinfo(1).source" returned the full absolute path to the script file as expected, but the breakpoint still was not hit.

I troubleshooted a little further and put print statements in the debugger.lua file on all the variables used to initialize the debugger. All the values printed out correct, including "workingdirectory."

Unfortunately, with the working directory set correct, the debugger *should* have the information necessary in order to evaluate the path where the atm.lua script is.

Out of desperation at this point, I looked at alternative debug environments and found ZeroBrane's Studio Lua Debugger. I installed and set a breakpoint, and without much configuration was able to debug my script. I don't know if this has to do with dynamic code, but if it does, I hope dynamic code support is on the roadmap for LDT.