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 Krishnan

    Is 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.

  • Compiling with debug info

    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
    - Pablo

    From 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

  • Compiling with debug option

    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 AM

    Post 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
    FB

    Hi,
    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:
    mpatzwah

    Alternatively:
    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,
    Jim

    Ack! 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

  • Connecting 3rd screen

    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

  • What plugins do I need?

    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