<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; troubleshooting</title>
	<atom:link href="http://devblog.blackberry.com/tag/troubleshooting/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 May 2013 15:08:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; troubleshooting</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>Getting Rolling with the Camera API</title>
		<link>http://devblog.blackberry.com/2012/07/camera-api/</link>
		<comments>http://devblog.blackberry.com/2012/07/camera-api/#comments</comments>
		<pubDate>Fri, 20 Jul 2012 18:19:21 +0000</pubDate>
		<dc:creator>Paul Bernhardt</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 10 Dev Alpha]]></category>
		<category><![CDATA[Camera API]]></category>
		<category><![CDATA[sample codeQML]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10375</guid>
		<description><![CDATA[Troubleshooting the Camera API in the current beta of BlackBerry 10.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10375&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10376" title="" src="http://rimdevblog.files.wordpress.com/2012/07/camera.jpg?w=550&#038;h=244" alt="TITLE_IMAGE" width="550" height="244" /></p>
<p>With the release of the BlackBerry® Native SDK Beta 2 comes the Cascades™ Camera API. If you want to see it in action, check out the spiffy Photobomber sample app available in the <a href="https://developer.blackberry.com/cascades/sampleapps/" target="_new">BlackBerry Jam Zone</a> and on <a href="https://github.com/blackberry/Cascades-Samples/tree/master/photobomber" target="_new">GitHub</a>. You can just import it, compile it, install it on your BlackBerry® 10 Dev Alpha and go.</p>
<p>However, there are a couple of set-up gotchas in the current beta you are going to run into if you are just trying to add Camera functionality to your own app. Luckily, they are pretty simple to get past, especially with me here telling you exactly what to do! Let’s quickly run through them.</p>
<p><span id="more-10375"></span></p>
<h3><strong>1. QML Imports</strong></h3>
<p>In your QML file, right underneath the default:</p>
<pre>import bb.cascades 1.0</pre>
<p>you want to also add:</p>
<pre>import bb.cascades.multimedia 1.0</pre>
<p>This will let the QML editor know about the camera components so it doesn’t complain at you.</p>
<h3><strong>2. Include the Camera headers</strong></h3>
<p>This is pretty standard C++ stuff, but don’t forget to also import the headers into your C++ code. In your default app.cpp you will want to import at least this:</p>
<pre>#include &lt;bb/cascades/multimedia/Camera&gt;</pre>
<p>You may also end up needing a few others if you are doing more involved camera work in C++, like this:</p>
<pre>#include &lt;bb/cascades/multimedia/CameraSettings.hpp&gt;</pre>
<pre>#include &lt;bb/cascades/multimedia/CameraTypes.hpp&gt;</pre>
<h3><strong>3. Register the Camera in C++</strong></h3>
<p>In your default app.cpp file, right before the call to:</p>
<pre>	QmlDocument *qml = QmlDocument::create("main.qml");</pre>
<p>Add:</p>
<pre>	bb::cascades::multimedia::Camera::registerQmlTypes();</pre>
<p>If you don’t do this, the Camera components won’t actually get loaded and you’ll get an error. This is also why you imported the Camera header file, if you are doing the rest of the camera work in QML.</p>
<h3><strong>4. Link to the Multimedia Libraries</strong></h3>
<p>Right now the linker isn’t quite set up properly to connect your app to some of the new libraries added in R6. For now, you’ll want to manually open the <code>&lt;appname&gt;.pro </code>file and add the following line:</p>
<pre>LIBS   += -lcamapi -lscreen  -lbbsystem  -lbbcascadesmultimedia –lzxing</pre>
<p>Not all of those are strictly necessary (for example, the zxing library will only be helpful if you want to connect to <a href="http://code.google.com/p/zxing/" target="_New">ZXing</a> to do some custom barcode scanning. We’ll talk about how to do that in a future blog post), but it’s not going to hurt, and the names of the libraries are not terribly discoverable on your own.</p>
<p>You’ll note there is no <code>LIBS</code> line by default in your <code>.pro</code> file. I like to add mine below the <code>CONFIG</code> line, though I’m not sure it really matters.</p>
<h3><strong>5. Done!</strong></h3>
<p>That’s it, you’re all set up! Now you can use the Camera API to your heart’s content. If doing so results in your app taking a lot of pictures, don’t forget you can use the <a href="https://developer.blackberry.com/cascades/reference/bb__system__invokemanager.html" target="_new">Invoke Framework</a> to let your users easily share them. It’s a snap.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10375&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/07/camera-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a3bf8c930434e9f401be449eb7ea556?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paulbe1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/07/camera.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>There is always a clue – digging into NFC issues (Part 2)</title>
		<link>http://devblog.blackberry.com/2012/03/nfc-troubleshooting-part-2/</link>
		<comments>http://devblog.blackberry.com/2012/03/nfc-troubleshooting-part-2/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 14:28:45 +0000</pubDate>
		<dc:creator>mdwrim</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Dev Con]]></category>
		<category><![CDATA[devcon europe]]></category>
		<category><![CDATA[Near Field Communication]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8642</guid>
		<description><![CDATA[Part 2 of this two-part blog post examines how issues can arise with NFC tags.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8642&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In my <a href="http://devblog.blackberry.com/2012/03/nfc-troubleshooting/" target="_new">previous post</a>, I began telling the story of a strange NFC issue I encountered during – of all things –a presentation by John Murray and myself at <a href="http://www.blackberrydevcon.com/europe" target="_new">BlackBerry® DevCon Europe</a> about developing NFC-enabled apps. As it turned out, an NFC tag on a flyer in the presentation room wasn’t scanning properly. What could be the issue?</p>
<p>Our first task was to establish whether or not we could read the content of the tags any way at all and if so, to determine just what that content was.</p>
<p>Now, an NFC tag is a smart card and it responds to ISO 7816-4 APDUs, so it’s possible to work with it at a lower level than would be the case when using the BlackBerry NDEFMessageListener Java® interface &#8211; which is how we’d normally seek to read an NFC tag from a BlackBerry® smartphone application. As such, armed with the NFC Forum specifications for NDEF tags types 1-4 in one hand, the ISO 7816-4 specs in the other, and a contactless card reader in errrrr&#8230;the other, we set to work.</p>
<p><span id="more-8642"></span></p>
<p>Our investigation proceeded on two fronts: John had been looking at a Python API for smart card developers called “pyscard” for a while and thought we could do something with that. We also contacted our own NFC product development team for advice, and they provided a BlackBerry smartphone app that they use to dump the content of tags to the device screen.</p>
<p>While sitting in the hotel bar drinking coffee and huddled around my laptop, it wasn’t long before John and I had a Python script running which was able to dump and decode the content of the tag. Through trial and error, we determined that we were dealing with a Type 2, tag and the decoded data produced by our script agreed with the data produced by the app our development team had provided. On examining the details carefully, we could see the problem with the tags as plain as day. Here’s part of what our script produced. Can you see the issue?</p>
<p><code>NDEF data:</code></p>
<p>TNF : 3 RFC 3986 ABSOLUTE URI<br />
Type Length : 1<br />
MB (Message Begin) : 1<br />
ME (Message End) : 1<br />
CF (Chunk Flag) : 0<br />
SR (Short Record) : 1<br />
IL (ID Length) : 0<br />
Payload Length (SR): 34<br />
Type : U<br />
Payload (hex) : 68 74 74 70 3A 2F 2F 6F 6E 2D 74 61 70 2E 6E 65 74 3F 74 3D 30 69 38<br />
34 76 69 65 71 38 7A 65 73 31 6E</p>
<p>The problem is that there’s a mismatch between the value provided for TNF (Type Name Format) and the data in the Type field.</p>
<p>TNF=0&#215;03 means the tag contains an “absolute URI” as defined in RFC 3986. When this value is specified, then the Type field should contain a valid URI and the payload should be empty. As we can see, however, the Type field contains “U” in this case.</p>
<p>Of the other values which TNF could take, a value of 0&#215;01 means the tag contains an “NFC Well Known Type”. Well known types are pre-defined record types and formats which the NFC Forum devised to support common use cases. When TNF=0&#215;01, the Type field contains a short code which indicates which of those well known types the payload represents. Values include “Sp” for smart poster, “T” for Text and “U” for URI. So as you can see, there are two ways of encoding a URI; either with TNF=0&#215;03 and an empty Type field or with TNF=0&#215;01 and Type=”U”. Clearly whatever tool was used to write the tags on the flyers has a bug, since these two distinct cases seem to have been mixed up so that we have the invalid combination of TNF=0&#215;03 and Type=’U’.</p>
<p>So, the mystery of the unreadable tag was solved! Hopefully this account provides some insight into a real-world issue and the activities involved in investigating such a problem.</p>
<p>Have fun with NFC!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8642/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8642/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8642&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/03/nfc-troubleshooting-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d86c7fdd0d15b754b2760af4536923b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mdwrim</media:title>
		</media:content>
	</item>
		<item>
		<title>There is always a clue – digging into NFC issues (Part 1)</title>
		<link>http://devblog.blackberry.com/2012/03/nfc-troubleshooting/</link>
		<comments>http://devblog.blackberry.com/2012/03/nfc-troubleshooting/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 16:16:21 +0000</pubDate>
		<dc:creator>mdwrim</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Dev Con]]></category>
		<category><![CDATA[devcon europe]]></category>
		<category><![CDATA[Near Field Communication]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8636</guid>
		<description><![CDATA[Part 1 of a two-part blog post examining NFC, what can go wrong and how to fix it.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8636&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My name is Martin and I’m part of the BlackBerry® Developer Relations team. I’ve been with RIM® for three years and have worked in software development in various capacities for 30 years in a wide range of industry sectors and on numerous computing platforms small and large. These days I specialize in Near Field Communication (NFC), a technology I find fascinating to work with and I hope to share some of my experiences with you through the Inside BlackBerry Developer’s Blog, starting with this – a two-part mystery.</p>
<p><a href="http://www.blackberrydevcon.com/europe" target="_new">BlackBerry DevCon Europe</a> in Amsterdam was my first BlackBerry conference and I have to say, I thoroughly enjoyed the experience. It was a great pleasure to meet developers who I’ve been working with by email but have never actually met in person.</p>
<p>Judging by the feedback received from attendees, the presentation I gave with John Murray, “DEV311 – How to develop an NFC enabled app,” was extremely popular. NFC is really a very large topic, especially when you start to move away from the simple use cases such as tag reading and into more technically-involved use cases, such as payment. It was a shame we were limited to a mere one hour. We could have talked about NFC all day!</p>
<p>However, there was an “incident” in the first of two NFC sessions which we presented, and it’s that incident that I want to write about here.</p>
<p><span id="more-8636"></span></p>
<p>The event organizers had placed flyers on the chairs in the room, advertising another event that John and I would be at. The event is a NFC Hackathon to be held in London the weekend of March 24th and which our carrier partner O2 is sponsoring. (We’d love to see you there. You can find details at the following web site: <a href="http://www.isobar.com/en/news/2012/2/3/create-london" target="_new">http://www.isobar.com/en/news/2012/2/3/create-london</a>)</p>
<p>The flyers had NFC tags fixed to the back of them and John and I knew nothing about this, so we were somewhat surprised when a member of the audience – as the very first question in our first session – said, “So why can’t my BlackBerry® Bold™ 9900 smartphone read this tag?!”<br />
As anyone who has ever presented or done live demos of anything will know, things do go wrong from time to time and that’s all part of the fun. But this one came out of nowhere and we were, to put it mildly, a little stumped by this question initially!</p>
<p>Problems tend to indicate opportunities though, so given that I was presenting on the topic of tag reading when the question was asked, whilst I couldn’t say anything definite at the time (issues like this need technical investigation, as you’ll see), it did give me the opportunity to talk about standards and degrees of compliance. It’s a fact that of the many makes and types of NFC tags that are out there in the world, some comply 100% with the relevant NFC Forum and ISO standards whilst some do not. We’ve worked hard at RIM to ensure our products comply with those standards since for a technology like NFC to gain wide spread adoption, inter-operability between tags and devices and between devices themselves is absolutely crucial. That said, even if a tag complies fully with the technical standards, it’s still possible to write non-standard content to it, so we all have a responsibility to comply with those standards, not just the device vendors.</p>
<p>Having made my small speech about standards, we moved on and completed the presentation. But the story didn’t end there because neither myself nor John are the kind of people to be satisfied with anything less than a complete and technically accurate answer to issues of this sort! So we collected samples of the flyers with their tags and took them back to the hotel where we proceeded to analyse their content. We call this “NFC Forensics!”</p>
<p>The second part of this story will be posted tomorrow; until then send us your thoughts about what you think happened!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8636/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8636/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8636&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/03/nfc-troubleshooting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d86c7fdd0d15b754b2760af4536923b3?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mdwrim</media:title>
		</media:content>
	</item>
		<item>
		<title>Debugging BlackBerry web applications using Web Inspector</title>
		<link>http://devblog.blackberry.com/2011/06/debugging-blackberry-web-apps/</link>
		<comments>http://devblog.blackberry.com/2011/06/debugging-blackberry-web-apps/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 17:54:48 +0000</pubDate>
		<dc:creator>Adam S.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[blackberry playbook]]></category>
		<category><![CDATA[BlackBerry PlayBook apps]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[tablet os]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=6562</guid>
		<description><![CDATA[Detailing some of the available debugging and profiling tools that you can use to improve the quality of your BlackBerry PlayBook tablet apps.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=6562&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img src="http://rimdevblog.files.wordpress.com/2011/04/playbook_angle_1.jpg?w=600&amp;h=410" alt="" /></p>
<p>With the recent launch of the BlackBerry® PlayBook™ tablet, there has been a lot of excitement and activity around developing Web content for the platform as well as using the BlackBerry® WebWorks™ SDK to produce fully-featured standalone BlackBerry® applications.</p>
<p>I wanted to share details about some of the available debugging and profiling tools that you can use to improve the quality of your content by troubleshooting bugs, tuning changes, and optimizing performance.</p>
<p><span id="more-6562"></span></p>
<h2>Web Inspector for the BlackBerry Tablet OS</h2>
<p><img class="aligncenter size-full wp-image-6563" title="Web Inspector" src="http://rimdevblog.files.wordpress.com/2011/06/debug-tablet-os-1.jpg?w=600&#038;h=413" alt="Web Inspector" width="600" height="413" /></p>
<p>The Web Inspector tool is a debugging and profiling development tool for web content that is included as part of the WebKit rendering engine. It is widely considered one of the most comprehensive and powerful utilities that web developers can use to troubleshoot and optimize their web content. It includes a variety of features and capabilities, such as inspection, profiling, console integration and more.</p>
<p>A common challenge that mobile web developers have historically experienced is that the Web Inspector tool is easily accessible for use with content loaded directly within WebKit-powered desktop browsers (such as Google® Chrome or Safari), but not necessarily for content loaded on a mobile device. I’m very happy to share that you can now use the Web Inspector tool to debug and profile live web content and/or BlackBerry WebWorks applications running on a BlackBerry PlayBook tablet or simulator. In fact, the Web Inspector tool for PlayBook is one of the only detailed ways to see inside a live mobile browser.</p>
<p><strong>How do I enable the Web Inspector tool for content loaded in the BlackBerry Tablet OS browser?</strong></p>
<ol>
<li>Select the “Privacy &amp; Security” tab from the “browser options” screen on your BlackBerry PlayBook tablet.</li>
<li>Switch the “Enable Web Inspector” to On.</li>
<li>When prompted, enter your BlackBerry PlayBook tablet device password.</li>
</ol>
<p><img class="aligncenter size-full wp-image-6564" title="Web Inspector" src="http://rimdevblog.files.wordpress.com/2011/06/debug-tablet-os-2.jpg?w=600&#038;h=375" alt="Web Inspector" width="600" height="375" /></p>
<p><strong>How do I enable the Web Inspector tool for a BlackBerry WebWorks application?</strong></p>
<ol>
<li>Use the –d command line operator when using the bbwp.exe utility to build your application.</li>
</ol>
<p>bbwp.exe c:\sandbox\myApp\myApp.zip –d</p>
<p><strong>Tip:</strong> You can enable the Web Inspector flag while building a signed version of your application; however, it is not recommended. By using both of these command line arguments together, it may allow remote access to the production version of your application.</p>
<p><strong>How do I use the Web Inspector tool to load live content from the BlackBerry Tablet OS?</strong></p>
<ol>
<li>Open a desktop web browser such as Chrome, Firefox, Safari or Internet Explorer.</li>
<li>In the address bar, enter the IP address of the target BlackBerry PlayBook tablet and port 1337 (e.g. <a href="http://198.168.1.7:1337/" target="_new">http://198.168.1.7:1337</a>).</li>
<li>You will be prompted with a list of page titles for content that has been loaded into memory by the Web Inspector tool (such as browser content or a BlackBerry WebWorks application).</li>
<li>Click on any of the page titles to begin using the Web Inspector tool to debug and profile your Web content.</li>
</ol>
<h2>What about BlackBerry Smartphones?</h2>
<p>Beginning with BlackBerry 7 handheld software, all handheld software going forward will have support for Web Inspector.</p>
<p>There is also a variety of alternative debugging options available for you to choose from that can assist in the troubleshooting and tuning of application content running on existing BlackBerry smartphone device software.</p>
<h2>Additional debugging options</h2>
<p>Some additional utilities that can be used to debug and profile web or BlackBerry WebWorks content running on BlackBerry Device Software version 5.0 and BlackBerry® 6:</p>
<p><strong>Weinre</strong></p>
<p><a href="http://pmuellr.github.com/weinre" target="_new">Weinre</a> (Web Inspector Remote) is a server-based solution created by Patrick Mueller that is very similar in function to WebKit Web Inspector, except you can view and modify live debug info running from your mobile web content using a desktop browser. This can be quite powerful as it is designed to allow you to invoke remote JavaScript® from the console, as well as dynamically modify page content at runtime such as HTML or CSS. You can even use Weinre to troubleshoot blackberry.* JavaScript APIs.</p>
<p><strong>Firebug Lite</strong></p>
<p>Similar to Firebug, a developer plug-in for the FireFox browser, <a href="http://getfirebug.com/firebuglite" target="_new">Firebug Lite</a> is a JavaScript framework that is designed to be used to add debugging &amp; profiling capabilities to web applications, including those for <a href="http://us.blackberry.com/developers/tablet/webworks.jsp" target="_new">BlackBerry WebWorks</a>. Developer <a href="http://twitter.com/levidehaan" target="_new">Levi DeHaan</a> has posted in the <a href="http://supportforums.blackberry.com/t5/Web-Development/HowTo-Debug-in-BlackBerry-WebWorks-for-Tablet-VM/td-p/823395" target="_new">BlackBerry Web Community Forums</a> about using Firebug Lite as part of your BlackBerry WebWorks application development.</p>
<p><strong>Jsconsole.com</strong></p>
<p><a href="http://jsconsole.com/" target="_new">JSConsole.com</a> is a remote service created by <a href="http://twitter.com/rem" target="_new">Remy Sharp</a> that can be used to configure your BlackBerry WebWorks content to load a remote JavaScript file that shares output from console.log(). By doing this, you can view console output generated by your BlackBerry WebWorks application from your desktop browser, and troubleshoot applications running on either a live device or simulator.</p>
<h2>More Info</h2>
<ul>
<li><a href="http://www.html5rocks.com/tutorials/developertools/part1/" target="_new">Chrome Developer Tools</a> (aka Web Inspector) Guide</li>
<li><a href="http://www.youtube.com/watch?v=e1ZAJYLA3U8" target="_new">Measure Web Load Times with WebKit Inspector</a> (YouTube video)</li>
<li><a href="http://us.blackberry.com/developers/tablet/webworks.jsp" target="_new">BlackBerry WebWorks SDK for Tablet OS</a></li>
<li><a href="http://us.blackberry.com/developers/browserdev/widgetsdk.jsp" target="_new">BlackBerry WebWorks SDK for Smartphones</a></li>
<li><a href="http://docs.blackberry.com/en/developers/subcategories/?userType=21&amp;category=BlackBerry+Browser" target="_new">BlackBerry Browser manuals</a></li>
</ul>
<p>Happy debugging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/6562/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/6562/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=6562&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2011/06/debugging-blackberry-web-apps/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/16f032fc46b780f6d9fa38b24a7f8ff2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adamstan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2011/04/playbook_angle_1.jpg?w=600&#38;h=410" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2011/06/debug-tablet-os-1.jpg" medium="image">
			<media:title type="html">Web Inspector</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2011/06/debug-tablet-os-2.jpg" medium="image">
			<media:title type="html">Web Inspector</media:title>
		</media:content>
	</item>
	</channel>
</rss>
