Need help debugging this and no idea what to do next

I’ve got my app files on my drive here: https://drive.google.com/folderview?id=0B03pZcnKR4VARHZCelI0TjBQR28&usp=sharing for anyone willing to look at it.  Attached is a screen capture of the sim and what it SHOULD look like (red square explained below).

My issue:

All the buttons are mocked up on screen (no button functionality added to them yet) and show up perfectly in the simulator.  On installation to a Moto X and a Kyocera Event, however, only the header, logo, Reflectivity Index, and FAQ “buttons” show up.

Attempts to figure it out:

  1. I thought it might be a layering issue, but since the background is first in the code and the header, footer, and logo are showing up correctly, not sure how the “buttons” that are missing would suddenly be behind the background.

  2. I’ve had the simulator print out the locations of all the “buttons” as well as the header/footer/logo into the console and everything says they SHOULD be on-screen.

  3. Maybe a memory issue?  I tried commenting out the FAQ button and seeing if the Dictionary button would show up instead but no bueno.  I tried just getting a red square to show up then on the screen and again, nothing happens on the actual phones even though it’s there on the sim.

I’m really not sure where to head on this one.  Any ideas or advice would be greatly appreciated.

-Mark

just a guess, fwiw – based on a two-second look at your gdrive contents… i see a lot of mixed-case filenames in there, and that would be my first guess, as devices are case-sensitive.  check for EXACT case-sensitive spellings in your code where you’re loading images.  

You were right about the case sensitivity- I changed a line from “dictBtn.png” to “DictBtn.png” and not only that button showed up spontaneously but ALL of them did.  Any idea why that one letter killed the other ones too?

Also, this may become a recurring thing with me on here.  I do some big stuff and it’s always something tiny like that that I miss (even if I look something over several times).

Thanks.

When Lua encounters a serious error, none of the remaining lines in that function get executed. So, in your case I would assume that the other buttons are created in the same function after the 1 that had the problem. 

Yeah, they’re all in the same section (scene create I think) from the scene composer.

Elbowroomapps is right.  Corona SDK is case sensitive on devices (well it’s a feature of the OS, nothing Corona SDK can do about it).  When it tries to run your code it does in a top down manner.  When it hits an error it stops processing that block (or in Lua terms “chunk”) of code.   Not finding an image to load is an error and no code after it runs.

This would have been pretty easily spotted had you tethered your device to your computer and used the “adb logcat” command to look at the device’s console log.  There would have been a warning about a file missing and then a whole dump of error messages.  If you do not know how to do on-device debugging, please read this tutorial:

http://coronalabs.com/blog/2013/07/09/tutorial-basic-debugging/

Knowing how to do this will empower you solve these faster than getting frustrated, posting here and waiting on help.

Rob

Next time you can use my logging module for easier on device debugging: http://forums.coronalabs.com/topic/50004-corona-advanced-logging/ :slight_smile:

Daniel

Thanks for the info everyone.  I’m definitely checking the debugging pages out.

just a guess, fwiw – based on a two-second look at your gdrive contents… i see a lot of mixed-case filenames in there, and that would be my first guess, as devices are case-sensitive.  check for EXACT case-sensitive spellings in your code where you’re loading images.  

You were right about the case sensitivity- I changed a line from “dictBtn.png” to “DictBtn.png” and not only that button showed up spontaneously but ALL of them did.  Any idea why that one letter killed the other ones too?

Also, this may become a recurring thing with me on here.  I do some big stuff and it’s always something tiny like that that I miss (even if I look something over several times).

Thanks.

When Lua encounters a serious error, none of the remaining lines in that function get executed. So, in your case I would assume that the other buttons are created in the same function after the 1 that had the problem. 

Yeah, they’re all in the same section (scene create I think) from the scene composer.

Elbowroomapps is right.  Corona SDK is case sensitive on devices (well it’s a feature of the OS, nothing Corona SDK can do about it).  When it tries to run your code it does in a top down manner.  When it hits an error it stops processing that block (or in Lua terms “chunk”) of code.   Not finding an image to load is an error and no code after it runs.

This would have been pretty easily spotted had you tethered your device to your computer and used the “adb logcat” command to look at the device’s console log.  There would have been a warning about a file missing and then a whole dump of error messages.  If you do not know how to do on-device debugging, please read this tutorial:

http://coronalabs.com/blog/2013/07/09/tutorial-basic-debugging/

Knowing how to do this will empower you solve these faster than getting frustrated, posting here and waiting on help.

Rob

Next time you can use my logging module for easier on device debugging: http://forums.coronalabs.com/topic/50004-corona-advanced-logging/ :slight_smile:

Daniel

Thanks for the info everyone.  I’m definitely checking the debugging pages out.