How to determine if class was compiled with debugging information?
How may I determine if class was compiled with debugging information? Aside from actually executing the class in a debugger.
As known, when compiling "javac -g ..." the class
files contain debugging information.
my Naive question is WHAT is this information?
could you please add any links to articles about this
debugging information?http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#22856
http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#5956
Similar Messages
-
Packages compiled with debug info
Hi,
How do we check if a package has been compiled with DEBUG information or not?
The package could have been compiled like this:
ALTER PACKAGE pk1 COMPILE DEBUG
Is there any table that I can check?
Thanks in advance.
Sanal KrishnanIs this a 10g feature?It seems only user_plsql_object_settings is new in 10g.
all_plsql_object_settings is available in 9i:
michaels> select * from dict where table_name like '%PLSQL%'
TABLE_NAME COMMENTS
ALL_PLSQL_OBJECT_SETTINGS Compiler settings of stored objects acce
ssible to the user
1 row selected.
michaels> select name, type,plsql_debug from sys.all_plsql_object_settings where owner = 'SYSTEM'
NAME TYPE P
DEF$_PROPAGATOR_TRIG TRIGGER
REPCATLOGTRIG TRIGGER
michaels> select * from v$version
BANNER
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
PL/SQL Release 9.2.0.8.0 - Production
CORE 9.2.0.8.0 Production
TNS for HPUX: Version 9.2.0.8.0 - Production
NLSRTL Version 9.2.0.8.0 - Production -
How to determine one class is a dynamic one or not?
hello,i got a simple question,like the title says.
how to determine one class is a dynamic one or not?
finally,i got an indirect solution.
package {
public dynamic class MyClass extends MySuperClass
public function MyClass()
super();
this.isDynamic=true;
this is a simple dynamic class,i defined a varible
directly,it is ok with dynamic class though i didn't declare it.
then in another class(parent class of this dynamic
class),where i try to determine the instance of this dynamic class
is a dynamic one or not.
i will use one function "checkIsDynamic" to check that
varible is exsit or not.then it will help me to determine what i
want know.
protected function checkIsDynamic():Boolean
try{this["isDynamic"]}
catch(er)
return false;
return true;
if another child class of MySuperClass didn't defined this
property,i can affirm it is not a dynamic class,or vice versa
this function also can be expanded to another one:
protected function checkProperty(prop:String):Boolean
try{this[prop]}
catch(er)
return false;
return true;
it is an useful solution,defined in parent class,and to check
the property is exist or not in child class.try adding a property to a class instance.
-
Hi!
I get a question about PL/SQl, How can I compile a Block PL/SQL with debug information, in SQL*Plus?
Thanks in Advance
- PabloFrom the symptoms you describe, it is possible that the shared library contains a bug, but it is more likely that the problem is in your code, passing bad data to the shared library.
The problem might be a compiler bug, but I think an error in your code is more likely.
For example, your code as written might have undefined behavior that works by accident when compiling without optimizing, but fails when the compiler improves the runtime code.
Some examples:
1. A classic MT programming error is failing to declare a variable volatile when it is shared by more than one thread. In each thread, the compiler assumes it can remember the value of the variable and not reload it between references.
2. "x = ++x + b;" Modifying a variable twice in an expression withtout sequence points has undefined behavior -- compiler optimization can affect the result.
3." foo(x, x+=3);" the order of evaluation of function arguments is unspecified, so the actual values passed to foo could depend on optimization.
With C++ 5.5, you get some warnings from system headers that you can't do anything about, which I suspect is why you have disabled some warnings. Unfortunately, you might be disabling warnings that you need to see. That is, some of the disabled warnings could point to invalid code that results in the program crash.
I suggest using w instead of w2 (to avoid uninteresting warnings), and fix your code to eliminate the warnings you get.
In the current compiler, C++ 5.7 in Sun Studio 10, we have made some adjustments to warnings to make w and w2 more useful. You should consider upgrading.You can get a 60-day free trial version here:
http://www.sun.com/software/products/studio/index.xml
Also get the current patches for it here:
http://developers.sun.com/prodtech/cc/downloads/patches/index.html -
How to give user Compiling with debug option, i have try to by giving grant debug any procedure and debug connect session but it failed.
Any ideas?
Edited by: rootsman on Jul 15, 2010 12:00 AMPost the error screenshot..
eg:
grant DEBUG CONNECT SESSION to username;
grant DEBUG ANY PROCEDURE to username;
Check the below explanation:
DEBUGGING:
DEBUG CONNECT SESSION
Connect the current session to a debugger that uses the Java Debug Wire Protocol (JDWP).
DEBUG ANY PROCEDURE
Debug all PL/SQL and Java code in any database object; displayinformation on all SQL statements executed by the application
Note: Granting this privilege is equivalent to granting the DEBUG object privilege on all applicable objects in the database. -
Copied objects are compiled with debug True
I had an issue with copied packages/triggers/procedures that when they were copied showed up as compiled with debug status.
My sql developer client has a default setting of compilng PL/SQL code with optimization level = 0 , while our database has a default = 2.
When modifying this level and setting it to 0, the debug flag is turned on, although not specified in the sql developer client)
preferences -> database -> PL/SQL -> Optimization Level = 2
select * from v$parameter where name like 'plsql%' returns
888 plsql_debug 1 FALSE FALSE
889 plsql_optimize_level 3 2 2 after setting the level to 0 the same query returns:
888 plsql_debug 1 TRUE TRUE
889 plsql_optimize_level 3 0 0this compile with debug behavior is shown on oracle 10 and 11 databases.I also have sqldeveloper version 3.2.20.09 and look up the value for optimizer in the preferences menu via preferences -> database -> PL/SQL (just as in my first message)
BTW I can still reproduce this issue (and 15 other dbas and developers at where I work) on both oracle 10 and 11.
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
"CORE 10.2.0.4.0 Production"
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
and
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
"CORE 11.2.0.2.0 Production"
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
BTW We've been using sqldeveloper here since version 2.x. We found a workaround by setting the value for Optimization Level to 2, although you might not reproduce the issue, I suggest to keep it for others, although it seems not many others experience this issue. -
Fatal error compiler limit : debug information module size exceeded ?
Hy
I try to compile a model, size 6 Mo.
I can simulate it on my pc, but when I want to generate a dll with SIT I have a error fatal...
fatal error C1067: compiler limit : debug information module size exceeded
Do you have any idea ?
Thanks
FBHi,
Is this still linked to this thred? or do you still have the problem ?
Regards.
Richard Keromen
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
>> Découvrez, en vidéo, les innovations technologiques réalisées en éco-conception -
How can you tell what version of JDK a class was compiled under
Kind Folks,
I have a Java application purchased from a vendor that is certified to run under JDK/JRE 1.2xxx. I recently received some extensions to the application from the vendor's consulting arm but I am having problems with the extensions. I believe the extensions were compiled under JDK 1.3xxxx but I need tp prove it to the vendor. Is there a way I can verify what version of JDK a class file was compiled under?
John Fowler...version of JDK a class file was compiled under? Not sure that makes sense. The class files will run the same under both. The only difference you would see is if you got a class not found or a method not found exception. If the class/method does not exist in 1.2 but does exist in 1.3 then that is where they were compiled. Manually verifying that would take a lot of work. Running it, as long as you excercise all of the functionality, (and presuming your app is not eating exceptions/errors when it shouldn't) then you should get an exception telling you of the error.
-
How to find out which PL/SQL Proc is Compiled with Debug?
Hi,
is there any View where i can see, which PL/SQL Proc is compiled with the debug flag?
Thanks
Marco
Message was edited by:
mpatzwahAlternatively:
select name, plsql_debug from sys.all_plsql_object_settings -
How to unpack an installer previously compiled with Inno Setup?
Hi,
I want to know how can I unpack a previously compiled installer (exe file) made with Inno Setup to extract and recover some DLL files into the installer. I found a tool called InnoExtractor
that supposedly
does this, but I don't know how is work. Any help is appreciate. This tool can by downloaded from here:
http://www.softpedia.com/get/Compression-tools/InnoExtractor.shtml
Regards and I'll wait your support. Thanks in advance.Hello GonKong,
I am afraid that this is not the proper forum for this issue, since it is related to the tool which belongs to third-party.
I would recommend you consider connecting with the publisher of Inno Setup or InnoExtractor to get supports.
Regards.
Carl
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Can't find library when compiled with debugging
Hi all,
Compiling this code segment cannot find a library when using -g
bash-3.2$ cat tester.cc
#include <iostream>
#include <string>
using namespace std ;
static void
myRoutine()
string str= "this is in routine" ;
string str3 ;
str3 = str.substr(11,7) ;
if(str.substr(0,4) == "this") cout << "Have a hit" << endl ;
cout << "this is str3 - " << str3 << endl ;
int main(int argc, char **argv)
string str = "this is a test" ;
string str1, str2 ;
str1 = str.substr(0,4) ;
str2 = str.substr(10,4) ;
cout << "this is str1 - " << str1 << endl ;
cout << "this is str2 - " << str2 << endl ;
myRoutine() ;
return 0 ;
bash-3.2$ CC -g -o tester tester.cc
bash-3.2$ ldd tester
libCstd.so.1 => /usr/lib/libCstd.so.1
libCstd.so.1 (SUNW_1.4.2) => (version not found)
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => /usr/lib/libm.so.2
libc.so.1 => /usr/lib/libc.so.1
If I comment out:
if(str.substr(0,4) == "this") cout << "Have a hit" << endl ;
bash-3.2$ cat tester.cc
#include <iostream>
#include <string>
using namespace std ;
static void
myRoutine()
string str= "this is in routine" ;
string str3 ;
str3 = str.substr(11,7) ;
// if(str.substr(0,4) == "this") cout << "Have a hit" << endl ;
cout << "this is str3 - " << str3 << endl ;
int main(int argc, char **argv)
string str = "this is a test" ;
string str1, str2 ;
str1 = str.substr(0,4) ;
str2 = str.substr(10,4) ;
cout << "this is str1 - " << str1 << endl ;
cout << "this is str2 - " << str2 << endl ;
myRoutine() ;
return 0 ;
bash-3.2$ CC -g -o tester tester.cc
bash-3.2$ ldd tester
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => /usr/lib/libm.so.2
libc.so.1 => /usr/lib/libc.so.1
Or if I remove -g:
bash-3.2$ cat tester.cc
#include <iostream>
#include <string>
using namespace std ;
static void
myRoutine()
string str= "this is in routine" ;
string str3 ;
str3 = str.substr(11,7) ;
if(str.substr(0,4) == "this") cout << "Have a hit" << endl ;
cout << "this is str3 - " << str3 << endl ;
int main(int argc, char **argv)
string str = "this is a test" ;
string str1, str2 ;
str1 = str.substr(0,4) ;
str2 = str.substr(10,4) ;
cout << "this is str1 - " << str1 << endl ;
cout << "this is str2 - " << str2 << endl ;
myRoutine() ;
return 0 ;
bash-3.2$ CC -o tester tester.cc
bash-3.2$ ldd tester
libCstd.so.1 => /usr/lib/libCstd.so.1
libCrun.so.1 => /usr/lib/libCrun.so.1
libm.so.2 => /usr/lib/libm.so.2
libc.so.1 => /usr/lib/libc.so.1
then I can run successfully
Any thoughts or hints?
bash-3.2$ CC -V
CC: Sun Ceres C++ 5.10 SunOS_i386 2008/07/10
Usage: CC [ options ] files. Use 'CC -flags' for details
bash-3.2$ uname -a
SunOS alpha 5.11 snv_86 i86pc i386 i86pc
Thanks,
JimAck! Please ignore my earlier posting. I did not play close enough attention to details in your post. I apologize for the confusion. Let me start over:
The Studio Express release you have contains a newer version of the C++ runtime library libCstd.so.1 than is available yet in Solaris patches. We bump the internal version number when we add new interfaces. The internal version number of the Studio Express library is SUNW_1.3.2. The version of the latest release Solaris patch is SUNW_1.3.1.
Some new string class operator functions are in version SUNW_1.3.2. I think these are also defined as inline functions in the compiler headers. When you compile with -g, inlining is disabled, and you create a dependency on library version SUNW_1.3.2. (Compiling with -g0 allows function inlining, and might resolve your problem, but read on.)
We have not released a libCstd.so.1 with internal version SUNW_1.4.2, so I don't understand how that version number could appear in an error message. Did you really see that version, or is it a transcription error? For now, let's assume it is a transcription error.
When you compile and link with CC, the program gets a runpath pointing into the compiler installation area. At program run time, the loader looks for libraries in directories listed in the runpath, with /lib and /usr/lib as last resort. The "ldd" command reports what the runtime loader will do regarding dependent libraries.
If the compiler is installed in /opt, a 32-bit program gets a runpath that includes /opt/SUNWspro/lib. In that directory in Sun Studio Express is a symbolic link that points to ../prod/usr/lib/libCstd.so.1, the library with version SUNW_1.3.2.
If you try this:
% /opt/SUNWspro/bin/CC hello.cc
% ldd a.out
you should see, among other things,
libCrun.so.1 => /opt/SUNWspro/lib/libCstd.so.1
(Depending on the OS version, you might see
libCrun.so.1 => /opt/SUNWspro/prod/usr/lib/libCstd.so.1 instead.)
But if ldd can't resolve the library, you probably have a corrupted Sun Studio Express installation. In that case, uninstall it, and reinstall from a fresh download.
If you run the program on a different computer where Sun Studio Express is not installed, the loader won't be able to find the right library version, and you will get "not found" results. I addressed this issue in another thread:
http://forums.sun.com/thread.jspa?threadID=5340163 -
How can I copy my iTunes library with playcount information to a new computer?!?
Hello,
I'm about to get a new computer. I have all my music on a external HD, so I won't have problems preserving my music. But I would like to preserve other information too. Especially the play count information. I think it's interesting how my top 25-most-played looks like, and the play count list I have now, took me 2 years to get.
So my question is: Does anyone know how I can copy my iTunes library with all its information (play count, rating, comments, images, last played date etc.) to a new computer?
Thanks a lot!Connect the external HDD to the iMac, launch iTunes while holding down the Option key. Choose the option to select library and navigate to the top level folder of the iTunes media on the external. Select it and click OK.
-
How to create a pop up window with text information?
Hi experts,
I am a newbie in LC and I have created a form to be sent to the vendors by our buyers. Everything seems fine except the Accounting Manager would like to include our Financial Details in the form. I would like to simply create a pop up window with the information which will be activated by pressing a button. I have tried to create an invisible button and a visible button to achieve this but didn't succeed.
p.s. I have no javascript background but slowly learning. I would appreciate if anyone can assist me to complete the task.
Thanks a million.Hi Mdjco,
Thanks for replying. What I need to accomplish is to have another page of information with all the financial details on the pop up window and the vendor has a choice to print it out or not. After the form is filled out, it is to be sent back to our buyers. So instead of me inserting a 2nd page with the information, I would like to hide it unless someone presses a button to show it.
I have found something like making 2 buttons, one is invisible with all the information on it and the other one "visible" to activate the invisble button. Didn't work at all.
Also another question is after the vendor insert the digital signature, it automatically asked to save (which I found out why from help) and then it opens up the email and sends the form as XML. I will need it to send as PDF, possible??
Much appreciated. -
Compiling with debug and runtime performance degradation
Just a quick question: Does including debug information in class files degrade runtime performance in any way?
Thanks!Quick answer: it depends on what your application does.
Mostly, it shouldn't matter but you should always profile and time your
application to find the truth. -
How to setup a Class B network with WRT54GX ver. 2
Hi all,
I bought a WRT54GX ver. 2 router. I wanna know how to setup the IP address say 128.1.50.136 with subnet mask 255.255.0.0 (Class B network)? By the way, 128.1.0.0 is my network zone.
If the router can't change, what should I do? Any other router support Class B network?
Thanks!bcow wrote:
I did but it doesn't work. It seems don't have 255.255.0.0 to select.
would you state more clear of how to do it? Thanks!
It does not have that because it does not support it... the router runs on CLASS C only because it was designed and made for SOHO only... bussiness lines of Linksys or Cisco can do that....but not this router...
"Sometimes your knight in shining armor is just a retard in tin foil.."-ARCHANGEL_06
Maybe you are looking for
-
Well hello everyone, I've been trying for some time to connect a third screen to my computer. Currently I'm working on two screens. I'm using a HP pavillion g7 with an Intel HD Graphics 4000 graphics card. This graphics card should be able to handle
-
Hi, I am getting some video attachments on my email and quicktime sometimes does not work for those. I have FLIP4mac but : What other plugins do I need to install in order to play the most common video file formats? Thanks F
-
Navigation Bar keeps showing up in different spots on my pages? Why?
Hello I have a question and hope anyone can helpe me on this. Im designing a photograhy website for myself. When I add the navagation bar in my bottom Master page, then of course it shows up in my top ( A-Master pages ). But here is my problem, whe
-
Uploading from Nikon Coolpix S01
Can you transfer photos from a Nikon Coolpix S01to iPad 2? My daughter got one as a present and gets the dreaded "device uses too much power" message. We've tried advice in old forums to switch off on 'computer charge' on camera but still no luck. A
-
Create popup - not an external window
Hi guys. how can I create a popup with webdypro for java? With createExternalWindow() (which is deprecated by the way, is there a new way to do that differently now? ) I can create a new window. but I just need a regular URL-popup. regards milad