unable to symbolicate crash log from a MonoTouch program - xamarin.ios

I have a MonoTouch app that I built in debug and uploaded to the device. I ran the app in the debugger and the app died without the debugger catching anything. I have a .crash log for it. I ran:
symbolicatecrash myapp.crash myapp.dSYM
It got symbol information for Apple stuff like CFRunLoopRunInMode and UIApplication, but not for anything in my program.
Is there a different way I need to symbolicate MonoTouch crash logs?

We had this same problem and we created a work around...
When we ran symbolicatecrash with the -v parameter (verbose) we saw it was complaining about not having a binary file inside the dSYM package. So we manually copied the binary file from within the app package into the dSYM package and that worked. Something like [MyProject].app/[MyProject] to [MyProject].app.dSYM/[MyProject].
We then created this as a Custom Command to run After Build:
cp ${TargetDir}/${ProjectName}.app/[MyProject] ${TargetDir}/${ProjectName}.app.dSYM/${ProjectName}
Note the [MyProject] portion as the binary created in the app package is a different name than the project name for us for some reason.
Now all builds symbolicate fine from terminal and within Xcode organizer. I hope there's a less band-aid way, but we were in a time crunch and this worked.

I had this problem and posted a patched version of symbolicatecrash to github. Replace /usr/local/bin/symbolicatecrash with this and you should be back in business.

tholsens answer is correct but when using Xcode >=4.3 (which is installed as an application) you need to run xcode-select first:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Otherwise you'll get strange errors like 'does not contain slice armv6', etc.

Related

Setting up Cygwin + Android NDK + cocos2Dx to work with Eclipse

I'm following a tutorial from this website: Monetizing Game Apps by Todd Perkins
Access to all the files are not required for the questions I'm asking. I have done research on how to solve this on stack overflow and discussed it below
I have followed the tutorial and it has asked me to:
Install Cygwin
Download Cocos2dx-2.0.1(I know this is old, but I don't want to deal with deprecating problems until I'm more confident with the environment)
Run create-android-project.bat(works fine).
Open project I created- and move to proj.android and run build_native.sh in Cygwin.
Then I open up cygwin.bat, navigate to myproject/proj.android and run ./build_native.sh
Problem:
$ ./build_native.sh
Using prebuilt externals
./build_native.sh: line 74: /cygdrive/c/android-ndk-r9c-windows-x86_64/ndk-build: No such file or directory
So I looked into the files and double-checked my changes:
In create-android-project.bat I modified the following variables:
set _CYGBIN=c:\Cygwin64\bin
set _ANDROIDTOOLS=c:\Program Files (x86)\ADT\adt-bundle-windows-x86_64-20130219\sdk\tools
set _NDKROOT=c:\android-ndk-r9c-windows-x86_64
Check line 74 that cygwin complained about in myproject/proj.android/build_native.sh:
echo "Using prebuilt externals"
$NDK_ROOT/ndk-build -C $GAME_ANDROID_ROOT \
NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt
Double check what NDK_ROOT is pointing to in build_native.sh:
NDK_ROOT=/cygdrive/c/android-ndk-r9c-windows-x86_64
COCOS2DX_ROOT=/cygdrive/c/Users/DarkRaveDev/Documents/cocos2d-x-2.0.1
GAME_ROOT=$COCOS2DX_ROOT/chaara
GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
RESOURCE_ROOT=$GAME_ROOT/Resources
My Research:
I surfed SO for quite some time and tried the following from SO:
EOL Conversion in Notepad++ so LF works for windows for the build_native.sh
An answer somewhere said I need to install the make package when installing cygwin.. I'm not getting this problem, so I'm not sure if this applies.
I have searched many ways to set path - NDK_ROOT
QUESTION:
What exactly am I doing wrong? Is it the variables are badly set or is cygwin not properly installed?
Thank you to everyone who commented! :)
This is what I ended up doing.
Reinstall Cygwin : When you get to the select packages to install page, make sure to find DEVEL and change the install action from default to install. I know its a lot of megs but it's easier than combing through it. If you do want to comb through it and get only what you need, I suggest using this website: Installing a c++ compiler for windows
Make your paths simple : Like user2359247 suggested.
Finally run the create_android.bat, open your android project. Keep the path location of your build_native.sh file in mind and open your cygwin terminal.
Navigate to the path in cygwin, and run the file with sh build_native.sh: At this point everything was quite smooth sailing.
NOTE:
Also I kept using my version of ndk which is r9 instead of r8 in the tutorial, it didn't give me any hiccups.
Thank you SO!

Adding blackberry10 platform in cordova(3.0.0) is showing "Error: node cannot be found on the path. Aborting"

I had installed blackberry 10 required software.
Error: node cannot be found on the path. Aborting.
I'm having the same problem. It works when I specify android but not when I specify blackberry10.
As pointed out by Ludivoc above, node is in my path. My command sequence is:
mydir>cordova create test com.example.test Test
mydir>cd test
mydir\test>cordova platform add android
mydir\test>cordova platform add blackberry10
[Error: node cannot be found in path. Aborting.
]
mydir\test>where node
C:\Program Files\nodejs\node.exe
I have also verified that the bbndk is in my path:
mydir\test>where blackberry-signer
C:\bbndk\host_10_1_0_238\win32\x86\usr\bin\blackberry-signer
C:\bbndk\host_10_1_0_238\win32\x86\usr\bin\blackberry-signer.bat
FWIW, I'm running Windows 7 Professional (64bit)
It seems to me that this problem is specific to the cordova scripts for blackberry10 and not to the node installation.
SOLVED: I've had some luck with this problem and there is an answer posted on my thread at http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/lt-img-gt-images-not-being-cached-in-BB10-Webworks-app/m-p/2649771/highlight/false#M41350. The thread actually discusses another problem, but I was able to get this one solved as well (I think:-)). Essentially, you have to make some edits to the init.bat file at C:\Users\.cordova\lib\blackberry10\cordova\3.1.0\bin
We had the same problem and managed to fix it.
The first problem "Error: node cannot be found on the path. Aborting." is related to a file called check_reqs.bat which can be found in the .cordova dir, normally situated in your users home eg. C:\Users\.cordova\lib\blackberry10\cordova\3.1.0\bin\check_reqs.bat
This script tries to check for some files using a variable called %CORDOVA_NODE% e.g.
if not exist "%CORDOVA_NODE%\node.exe" (
No matter what I do, this variable is NEVER set when I call cordova so I just set it by hand
SET %CORDOVA_NODE%=somepath_dont_use_quotes
You might also have to adjust %CORDOVA_BBTOOLS%, on one of our machines it worked, on one it didn't, I was NOT in the mood figuring out why.
The same CORDOVA_NODE issue has to be fixed in your build.bat situated at
\platforms\blackberry10\cordova\build.bat
Last but not least we had a problem in packager.js. There is a logger used in there which gives an error whenever the packager tries to call it so we just put it under comments.
I know this is a little bit of a hack us the %CORDOVA variables should be taken from your system but as those paths shouldn't change we are h appy with the solution.
Open the check_reqs.bat file under C:\Users.cordova\lib\blackberry10\cordova\3.1.0\bin\check_reqs.bat and:
replace %CORDOVA_NODE% with your path to nodejs, mine is C:\Program Files\nodejs.
Then repalce %CORDOVA_BBTOOLS% with the path the blackberry sdk, mine is: C:\bbndk\host_10_2_0_15\win32\x86\usr\bin.
Finally replace the last line "%CORDOVA_NODE%\node" "%~dp0\check_reqs.js" %* by "C:\Program Files\nodejs\node.exe" "%~dp0\check_reqs.js" %*
It works for me
I believe you would get this error if 1) you have not installed node.js or 2) you have installed node.js but not yet added it to your system path.
These two pages provide further detail that may be helpful:
http://cordova.apache.org/docs/en/3.1.0/guide_cli_index.md.html#The%20Command-line%20Interface
http://cordova.apache.org/docs/en/3.1.0/guide_platforms_blackberry10_index.md.html#BlackBerry%2010%20Platform%20Guide
If you install nodejs in the default location, it should be installed in a location that is already in the system path on MacOS
i have updated cordova to 3.2.0,now everything is working fine in win7.
Thank you all
Have u downloaded the Blackberry SDK. You have install the blackberry sdk manually from blackberry's website. only then u can use it in phonegap.
This error occurs in C:\Users\{username}\.cordova\lib\blackberry10\cordova\{version}\bin\init.bat
The fix for me was to add a new environment variable:
Name: CORDOVA_BBTOOLS
Value: C:\Program Files\BlackBerry\BB10 WebWorks SDK 2.2.0.15\cordova-blackberry\bin\dependencies\bb-tools\bin
Your path might not be the exact same. If you can't find it do a search for blackberry-nativepackager.bat and the folder that contains that is the directory you need to set as the value.

Can run program from Qt but can't run it from konsole

I have a a problem sounds pretty wierd. I compiled a program in Qt and it ran successfully.
But when I navigated to the release folder in the konsole and ran the program (even with super user), it reported :
If 'HelloWorld' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf HelloWorld
I checked the permissions, all users can read it.The path is right. I'm out of way.
Please help me!
Note: I use Qt 4.74 on OpenSuse 12.1. Just switched from windows few days ago
I think this ain't relate to the source code, since even a simple HelloWorld program can't run either
If the program is in the current directory, make sure you run it with a prefix indicating so:
./HelloWorld

bash.exe - entry point not found

when trying to install cygwin, I keep getting this error message:
the entry point
rl_filename_rewrite_hook could not be
located in the dynamic link library
cygreadline7.dll
Has anyone seen this before ?
Thanks
I had the same error with cygwin1.dll. I checked in c:\cygwin\bin and noticed there were two files, cygwin1.dll and cygwin1.dll.new (possibly from a failed or aborted setup run?). The ".new" version was in fact newer (and slightly larger) than the existing cygwin1.dll, so I replaced cygwin1.dll with cygwin1.dll.new, and ran setup again. It completed with no errors.
First idea is to try reinstalling libreadline7 (or similarly named package) using the cygwin installer. Use the search field to enter readline to make it easier to find the right package.
Another option is that in the cygwin installer, change form Curr to Prev in order to switch to the previous-stable release. This means lots and lots of downloading and reinstalling. I anctually did manage to provoke my error into becoming a libreadline7 error, and switching to Prev at least got rid of the error messages. (Yay! Now bash, ssh server and git is working again! Back to work here then...)
Please check your path in WINDOWS (advanced system properties) environment. I found that C:\WinAVR\bin was coming before my cygwin path, so I moved that to the end, fixed my issue.
If you have multiple CYGWIN1.DLL files in your system, it definitely causes headaches if you're not careful.

Installing flash 9 debugger in linux

I've been trying for some time to use the ExternalInterface.call method in flash, to no avail (see here: actionscript + javascript here: Using ExternalInterface in Flash and here: Flash trace output in firefox, linux) and now I'm trying to trace ExternalInterface.available. So far my best option seems to be FlashTracer for firefox, except that I have to have flash player 9 installed. I've removed my old flash player and downloaded the appropriate files (http://download.macromedia.com/pub/flashplayer/updaters/9/flash_player_9_linux_dev.tar.gz). According to the readme included these are the steps for installation:
Installing the debugger plugin tar.gz using Install script:
o the debugger plugin is located at:
./plugin/debugger/install_flash_player_9_linux.tar.gz
o Unpack the tar.gz file
o In terminal, navigate to the unpacked directory and enter:
+ $ ./flashplayer-installer
+ Click Enter key and follow prompts
except there's no file called flashplayer in the debugger directory. Anyone else ran into this? How can I install flash player 9 debugger on my Ubuntu system?
If you're using something like Ubuntu, the Flash plugin is probably a system wide thing. Under Ubuntu 8.10 for example, I have it at:
/usr/lib/flashplugin-installer
additionally you'll find at:
/etc/alternatives/
links to it, so you can change which .so is used depending on the user.
The easiest thing you could probably do if the ./flashplayer-installer file doesn't exist (though it does in mine) is to copy the debug flashplayer library to this directory. e.g:
root#me:/usr/lib/flashplugin-installer# mv libflashplayer.so libflashplayer.non-debug.so
root#me:/usr/lib/flashplugin-installer# cp ~jamie/Adobe_Flex_Builder_Linux/Player/linux/install_flash_player_9_linux/libflashplayer.so libflashplayer.debug.so
root#me:/usr/lib/flashplugin-installer# ln -s libflashplayer.debug.so libflashplayer.so
I haven't seen the issues you have, and perhaps your requirements restrict you to an older version, but I've had great success with flashplayer 10's debugger. You might try this one and see if it works.
Edit: Ahh, I just noticed one very pertinent statement you made: you require flashplayer 9. Sorry =(
Edit 2: I just had the same thing happen to me on Linux. When I extracted the tar.gz from Adobe, the installation script wasn't present. This said, I was able to get the debugger version of 9 installed anyway.
When you extracted, did you see a libflashplayer.so file? I didn't have an installation script, but I did get this file. If so, all you need to do is this:
Close all instances of Firefox
Backup your current libflashplayer.so module: ~/.mozilla/plugins/libflashplayer.so.org (this way, if something goes wrong, you can always put it back)
Copy the version you extracted from the Flash player download to the same plugins directory: cp /path/to/vers/9/libflashplayer.so ~/.mozilla/plugins/
Restart Firefox, open a Flash app, and right-click to check for the version
These steps worked perfectly for me, and I was able to run Flex Builder's debugger in Linux. Hope it works for you!
One way you can do it is downloading the flex 3 SDK for linux. When you download it you'll get a couple of tar's. You can find this in ~/flex_sdk_3/runtimes/10 if you want to install the flashplayer 10 and ~/flex_sdk_3/runtimes/lnx/ if you want the flashplayer 9. Uncompress those files (flashplayer.tar.gz and libflashplayer.so.tar.gz with tar -xvf). Now cp libflashplayer.so the file to /usr/lib/mozilla/plugins/ and if you want create symbolic links (ln -s flashplayer /usr/local/bin to have the player on your path
A tip for anyone who searches for this like I did... find out where libflashplayer.so currently is on your system:
sudo locate libflashplayer.so
Mine was in /usr/lib/flashplugin-installer/
Once I replaced that file with the debug version of the file, Firefox reported that I had the debug version of the player.
I also had the same issue with flash player debugger. I followed the instructions given by bedwyr. It worked for me. To make it work, you create a directory named 'plugins' into ~/.mozilla if plugins directory is not found.
mkdir ~/.mozilla/plugins
Then I copied libflashplayer.so to plugins directory. Now flash player debugger worked for my Flex Builder's application.

Resources