Why can't I get the Google Cloud Debugger to work? - java

I've connected my Java based app engine app to Cloud Debugger via GitHub. I can see the source code and navigate the source files. But, when I place a breakpoint on a line in a source file, the debugger never captures local variables when I execute my app. How can I troubleshoot/fix this?

There might be few reasons why the snapshot will not hit.
Make sure that you are using the source code version that is deployed with your app. Many times the head revision is ahead of the deployed version.
If you use appcfg version 1.9.20 or above, it includes source hints for the debugger to display the correct version of the source.
more info here: https://cloud.google.com/tools/cloud-debugger/setting-up-on-app-engine
The 'Watch Target' selected in the UI is inactive.
If the application is deployed while using the Cloud Debugger UI. It does not give an indication that the selected 'minorversion' is inactive and the snapshot will never hit.
Refresh the UI after deploying to allow the UI to pick the latest minorversion of the application.
Make sure that your application is executing that file:line.
The file:line has to execute for the debugger to capture an execution snapshot. It may happen that the requests that the application is processing do not execute that specific file and line.
Make sure that the the specified condition actually evaluate to true.
First simple check is to simply remove the condition.

Related

How to reload resource from server after update during runtime Java web start?

I am trying to achieve the automatic update for my java web-start applicaiton. Logic: I am fetching the jnlp file from the server and comparing the timestamp with the current one. if there is difference then download the latest file and restart the application with javaws command. Now I have two problems. 1. I am not able to fetch the local jnlp file (because the location for jnlp file is different for different operating system as mentioned here 2. I am not able to find a graceful way to restart the application after killing the current running application. I would appreciate if there is any other graceful solution available. Thanks
I am trying to implement automatic update using java web start
But i am facing the following issue :
1)Not able to figure out a way to force/direct Java Web Start to check for updates in background when application is running.
2)Even,If I wrote a logic to check for updates manually in background thread , but then, I am not able to find a way to restart my application by running
my.jnlp file.
following similar questions on my issue ,I figured out Java Web Start provide some implementation as DownloadService which can be used to solve my issue.
But i didn't found any relevant example or pointer doc regarding utilisation of the DownloadService implementation.
Please Help.

Debugging appengine in Java with breakpoints

I'm struggling to get breakpoints to work in a Google Appengine project. I followed the guide here https://cloud.google.com/appengine/docs/java/webtoolsplatform which explains how to set up a google app engine server on your local machine and run your app locally. I can do all that.
I can access my app via http://localhost:8888 as well as http://localhost:8888/_ah/api/explorer etc.
Now onto my problem. None of my breakpoints stop! Even when I place a break point in every possible location the server could go to, nothing happens. This is true when I browse code normally on the regular http://localhost:8888 site, or the /_ah/api/explorer section.
When I shut down the server, everything stops (so I know the server created by Eclipse is the one running the show) and when I am in debug-view I can manually suspend the entire app (which will also
I am running the Google App Engine tutorial project from Udacity:
https://www.udacity.com/course/progress#!/c-ud859
It is a maven based project (though for this debugging, I am compiling using the Google App Engine tutorial linked at the top)
It github repo is here https://github.com/udacity/ud859
And my forked repo where I have my exact code is here:
https://bitbucket.org/esend7881/udacity-googleapp.git
I really can't tell what I am missing here.
This could be anything...it is working for me (using tic tac toe example: https://github.com/GoogleCloudPlatform/appengine-endpoints-tictactoe-java
One question, is how are you invoking your API? I don't see a "HttpMethod.GET" in yoru screen
shot.
Are your break points enabled, makes sure that "Skip All Breakpoints" isn't clicked":
http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fviews%2Fbreakpoints%2Fref-skipall_viewaction.htm
I run my eclipse as "administrator" on windows to make sure it has privilege to access the director eclipse is in (Right Click on Eclipse->Run As Administrator)
If above fails, you can try a namespace filter (take your API out of the path) and set a break point in it. I don't have a great example online, but you can follow the "multitenant" example on google to try it: https://cloud.google.com/appengine/docs/java/multitenancy/multitenancy#Java_Setting_the_current_namespace

track changes in eclipse

I have eclipse installed on a local computer, and am working on a project by myself. No one else is collaborating on the coding, I am doing it all myself.
Sometimes, I get ambiguous error messages in my spring mvc app when I run it on tomcat server using eclipse's run as...run on server command. For example, there is sometimes NO stack trace. In those cases, I would like to at least be able to see when each file in the app was last saved, so that I can try to figure out what I changed since the last time the app ran successfully. Ideally, I would like to also be able to see what changes I made to specific files.
Can anyone show me how to accomplish this?
Eclipse has Local History feature: try Team > Show Local History from context menu.
But I recommend you to use some version control system (svn, git) even if you work on your project alone.

Updating .ear file on websphere (6.1) still runs old code

I have a question regarding updating a application on websphere application server. The application is already up and running and I just want to update the code which is packaged in a .ear file. Here is what I thought I should do:
stop the application server.
go to my enterprise application, select the one I am updating, and click update.
point to my .ear file in replace the entire application radio button option.
restart my application server.
After doing this and trying out my application, it is still running the old code, which makes me really confused. The only way I managed to get it to work is to use WinSCP, manually go to the cell directly/installedapps and replace the whole .ear folder. I dont think this a viable solution moving forward.
I solved it. After some intense digging it seems the binary files were expanded into dmgr profile but not my correct node. After finishing the update instead of clicking save I click review and there is a checkbox to synchronize the nodes, which then did the trick.
To update existing enterprise application we do not have to stop the application since WAS stops the application before updating the code .
Based on the update you gave i am assuming this is a network deployment manager setup , so possibly problem is with sync is not taking place after updating the app and save .
Are you explicitly invoking sync operation after application update ? If not , i would recommend that.
Still problem persists then most likely for what ever reason nodeagent process is not invoking app expansion into installedApps folder but you can take a quick look at nodeagent systemout.log file or ffdc files to see if there is any clue about expansion process.
As a work-around you can also use EARExapnder.sh/bat tool available /profile_home/bin directory to expand the application into installedApps when the app is really updated in config/cells/cell_name/applications but not under installedApps folder.
I hope this helps.
Thanks
VT
These opinions are my own.

sipdroid - Another incoming call is not display while one is continue

I have installed SIPDROID. I made three account at sip2sip.
After that I have configured application using one of that account. Application works fine.
Question is: If I make multiple call to the same phone using SIP is there anyway to handle all calls at a same time?
Another incoming call is not displaying on mobile screen while first call is continue.
The first call getting picked up but what about the second call which is coming during first call.
Even second call is not displaying on the screen. Confused !!
Sipdroid that I what started with but after researching on it and from developers reviews I found that application has some missing functionality like multiple call and transferring calls etc...
I don't know but may who is expert in sip stack or have time to do can implement missing functionality but I am neither one of them so my desire to get an application that have all this functionality and by modifying it I can integrate into my application and csipsimple is the answer.
However its not easy job to build csipsimple into windows environment but there is hack how to do it. so carefully read its wiki about building project into window environment.
According to wiki you can build native library or you can go ahead without building the native library. I suggest for windows user to go with without building the native library.
If you have read wiki then in "without building the native library" section last line is like
"To get the .so files, download latest nightly build from nightly
build website and unpack the apk file (apk files are just zip files).
Then get lib/ARCH/.so files and copy it into CSipSimple
libs/ARCH/.so"
I have to clarify one important thing about that:
First get .apk file of csipsimple. The version of .apk file must same to download version of your csipsimple source code..
Here, you can see the source code version. Download the same version .apk and do further as described in wiki.
SipDroid supports only one line at all times. This means you cannot have conference calls. So to the question:
If I make multiple call to the same phone using SIP is there anyway to
handle all calls at a same time?
Nope, you cannot handle simultaneous calls at the same time. Fortunately there's another open source SIP Client that supports multiple lines - IMSDroid.
Though you can extend SipDroid to support multiple lines, that's a lot of effort. The main objects you have to pay attention to in order to support multiple lines are:
UserAgent, SipProvider (note that it's designed to support multiplexing/demultiplexing of SIP messages), JAudioLauncher and the Call object.
The bug you're describing with the second call not showing is not something I have witnessed. This could be due to your device setup, or due to customizations performed on the original code...
you can build the csipsimple easily in linux OS... All you have to do is just paste the download source link in linux commanpropmt and for windows you must have latest cygwin software to download or to build native library... Better option is to go for linux OS only...

Categories

Resources