Static blocks and inheritence

public class SubClass extends SuperClass {
static {
System.out.println("Sub class being called");
SuperClass.setS("TREX");
public class SuperClass {
protected static String s;
static {
System.out.println("Super being called ");
static public setS(String t) { s= t; }
static public String getS() { return s; }
public static void main(String[] args) {
System.out.println(SubClass.getS());
The above prints
"Super being called"
null
Why is "Sub class being called " not printed? It looks like
the subclass static block never gets called.?

hi
may be i did not something catch right concerning static blocks and inheritence
(jdk1.5x)
please have a look at the following example.
1. static block in subclass is only executed if the static vars are not defined final. why is this?
2. why does not any subclass has its "own" hashtable colors?
thanks
hanspeter
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
import java.util.Hashtable;
abstract class ParentStaticBlock  {
     static final Hashtable<Integer, String> colors = new Hashtable<Integer, String>();
     static void putColor(int colNumber, String colName) {
          colors.put(colNumber, colName );
     static String getColorNameFor(int colNumber) {
          return colors.get(colNumber);
final class Child1StaticBlock extends ParentStaticBlock {
     public final static int ROT = 0x00000D;
     public final static int GELB = 0x00000E;
     static {
          System.out.println(" hello, here static block of Child1StaticBlock...");
          putColor(ROT, "ROT");
          putColor(GELB, "GELB");
final class Child2StaticBlock extends ParentStaticBlock {
     public /*final*/ static int GRUEN = 0x00000A;
     public /*final*/ static int BLAU = 0x00000B;
     static {
          System.out.println(" hello, here static block of Child2StaticBlock...");
          putColor(GRUEN, "GR�N");
          putColor(BLAU, "BLAU");
public class TestChildStaticBlock {
      * @param args
     public static void main(String[] args) {
          int colNo;
          String colBez;
          System.out.println("Static elements class Child1StaticBlock ->");
          colNo = Child1StaticBlock.GELB ;
          colBez = Child1StaticBlock.getColorNameFor(colNo);
          System.out.println("color yellow has number >" + colNo + "< and label >" + colBez + "<");
          System.out.println("");
          System.out.println("Static elements class Child2StaticBlock ->");
          colNo = Child2StaticBlock.BLAU ;
          colBez = Child2StaticBlock.getColorNameFor(colNo);
          System.out.println("color blue has number >" + colNo + "< and label >" + colBez + "<");
          System.out.println("");
          System.out.println("contents of hashtable(s) ->");
          System.out.println("ParentStaticBlock.colors:" + ParentStaticBlock.colors);
          System.out.println("Child1StaticBlock.colors:" + Child1StaticBlock.colors);
          System.out.println("Child2StaticBlock.colors:" + Child2StaticBlock.colors);

Similar Messages

  • Static blocks and synchronization

    Hi,
    I have a question - I have a DAO class which basically caches some master data, and also reads a property file and caches the information. To do this I have written a static block :
    Class MyDAO {
    private static Properties sqlProp = null;
    priate Hashtable countries = null;
    static {
    initialize();
    private void initialize() {
    sqlProp = new Properties();
    //add values to sqlProp
    countries = new Hashtable();
    //add values in countries.
    I understand that a static block gets executed only once when the class gets loaded. Now my question is do we have to synchronize this initialize process, will there be any concurrency issues with the above code.
    If so how could I correct this , please let me know your suggestions..
    Thanks in advance..

    Thank you very much for the response..You are welcome. I hope you read my comment above as "Class initialization is thoroughly synchronized", which is what I intended :-)

  • Static members and inheritence

    class A {
       public static int x = 111;
    class B extends A {
        public static int x = 222;
        void foo(A a) { System.out.println(a.x); }
    ...If I call "foo(new B());" it prints "111".
    How to change A/B or foo() so that such call will print "222", without making the field non-static (waste of memory) or using reflection (waste of time) ? I need exactly 1 int per class and its value cannot be hardcoded.
    Thanks

    As for reflection, unfortunately it is still much slower than direct access (more
    then 100-200 times). 100-200 times slower than something extremely fast, is still pretty fast.
    I'm still not entirely convinced you have a problem here.
    Since the values are constant (once they have been initially defined) you can indeed use a hashmap like that. I would probably mix it with reflection:
      final int getX() {
             Integer x =  (Integer)xMap.get(this.getClass());
             if (x == null){
                // load the value via reflection
               // put it into the map for next time
             return x.intValue();
        }The reflection hit only occurs once for each class. Thereafter your only hit is looking the value up in the Map. Still probably not quite as fast as direct access.
    If the field values were not constant, I would probably cache the Field objects. As I understand it, the hit taken with the reflection APIs is more the looking up (introspection). Once you have the fields/methods cached access is pretty fast.
    But I agree with Adeodatus. Its a wonky solution. It might be better to pull that value out of the class, or just have it as an instance variable.
    Where/how are these values discovered anyway? Obviously at runtime - through a database/properties file? How do you set the values for them all?

  • Can we have try/catch in a static block in a class?

    hi All
    i have a question about put a try/catch block in a static block in a class to catch exceptions that maybe thrown from using System.xxxx(). in my custom class, i have a static block to initialize some variables using System.xxx(). in case of any error/exception, i need to be able to catch it and let the caller know about it. i tried to put a try/catch block in the static block, and tried to rethrow the exception. but it is not allowed, how would i handle situation like this? thanks for your help and advise in advance.

    You could just swallow the exception inside try/catch
    block, and instead of throwing it out, just set a
    static variable to allow checking from outside
    whether the initialization succeeded, or check within
    the constructor / methods of this class for
    successful initialization, and throw the exception
    then. You could even save that exception in a static
    variable for later.Ouch, ouch, you're hurting my brain. This would allow someone to ignore a (presumably) fatal error. Throw a RuntimeException as indicated. You can wrap a checked exception in an unchecked one if need be.

  • Problem in static block execution

    Hi all
    i have a class which has a static block and a static method.For the first time i call the static method in the class its strange that its excuting a part of the static block and entering the method later and agian turning back to static block.
    but for the secon time when i call the static method in that class its fine that static block is not executed..
    here is the code of the class which contains static block and static method
    public class LogServices
    private static String propFilename="plas.properties";
    private static String file="vdvd";
    static
    System.out.println("Inside static block");
    try
    System.out.println("Inside static block of Plasma Log Services ");
              file=PropertyProvider.getProperty(propFilename,"Log4jprops"); // here i am calling another method in another class to get some string from properties
    System.out.println("\n File is ********************************** "+file);
    catch(Exception e)
    System.out.println("Exception encountered the following Exception ["+e.getMessage()+"]");
              System.out.println("Finished static block");
    public static Logger initLog()
    Logger logger=Logger.getLogger(PlasmaLogServices.class);
    System.out.println("File in method is:"+file);
    return logger;
    and in my main program i am calling this
    LogServices.initLog(); and the output i observed on the screen is
    Inside static block
    Inside static block of Plasma Log Services
    File in method is:vdvd
    File is ********************************** log.properties
    Finished static block
    if u look at the output after " Inside static block of Plasma Log Services" (part of static block) its enetering method where " File in method is:vdvd" is printed .
    After some debugging i came to know that if i remove the line
    file=PropertyProvider.getProperty(propFilename,"Log4jprops"); and replace it by file="log.properties";(mean hardcoded) then the static block executes and later that method executes.
    can any one pls help me in this regard???

    The first time you instantiate a class
    LogServices, it's static block is being
    executed.
    After you've instantiated the class, you call its
    static method.
    If you call the static method again, the
    LogServices have their static block already
    executed, so it won't be executed again.
    I think that the execution of static block and static
    method is not mixed, as you thought. I think it is
    rather a logging issue. Most loggers do not guarantee
    that logging-messages are output in correct order.
    Regards, TomHello sir
    tahnks for ur reply and i got that .the problem was in the propertyprovider class i had a static variable logger =PlasmaLogservices.initLog() ; and hence after that it was by passing to that static method and coming back again .
    thanks for looking in to this

  • Code::Blocks and gdb's Debug Attach to process; crash

    Hello!
    I've just started using Code::Blocks and very happy with it, but there is one problem: say I have a binary file with debugging symbols, then I try to attach to it using Code::Blocks (Debug>Attach to process); when I enter the PID and press "OK" button - IDE crashes.
    Here is the stacktrace of codeblocks itself from gdb:
    [user@host ~]$ gdb codeblocks
    GNU gdb (GDB) 7.4
    Copyright (C) 2012 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "i686-pc-linux-gnu".
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>...
    Reading symbols from /usr/bin/codeblocks...(no debugging symbols found)...done.
    (gdb) run
    Starting program: /usr/bin/codeblocks
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/libthread_db.so.1".
    [New Thread 0xb1881b40 (LWP 8035)]
    Initialize EditColourSet .....
    [New Thread 0xae6c4b40 (LWP 8036)]
    [New Thread 0xadec3b40 (LWP 8037)]
    [New Thread 0xad6c2b40 (LWP 8038)]
    [New Thread 0xacec1b40 (LWP 8039)]
    Initialize EditColourSet: done.
    Loading toolbar...
    OpenFilesList: loaded
    ThreadSearch: loaded
    lib_finder: loaded
    EnvVars: loaded
    CodeStat: loaded
    ClassWizard: loaded
    HeaderFixup: loaded
    BYOGames: loaded
    CodeSnippets: loaded
    cbDragScroll: loaded
    SymTab: loaded
    CB_Koders: loaded
    HelpPlugin: loaded
    Compiler: loaded
    Debugger: loaded
    wxSmithAui: loaded
    Autosave: loaded
    wxSmith: loaded
    wxSmithMime: loaded
    Profiler: loaded
    ScriptedWizard: loaded
    Valgrind: loaded
    RegExTestbed: loaded
    wxSmithContribItems: loaded
    CppCheck: loaded
    ToDoList: loaded
    [New Thread 0xab9b8b40 (LWP 8040)]
    CodeCompletion: loaded
    FilesExtensionHandler: loaded
    Cccc: loaded
    Exporter: loaded
    AStylePlugin: loaded
    AutoVersioning: loaded
    IncrementalSearch: loaded
    ProjectsImporter: loaded
    cbKeyBinder: loaded
    MouseSap: loaded
    BrowseTracker: loaded
    HexEditor: loaded
    copystrings: loaded
    Open files list plugin activated
    ThreadSearch plugin activated
    Library finder plugin activated
    Environment variables plugin activated
    Code statistics plugin activated
    Class wizard plugin activated
    Header Fixup plugin activated
    BYO Games plugin activated
    Code snippets plugin activated
    DragScroll plugin activated
    Symbol Table Plugin plugin activated
    Koders query plugin activated
    Help plugin plugin activated
    Added compiler "GNU GCC Compiler"
    Added compiler "Intel C/C++ Compiler"
    Added compiler "SDCC Compiler"
    Added compiler "Tiny C Compiler"
    Added compiler "GDC D Compiler"
    Added compiler "Digital Mars D Compiler"
    Added compiler "GNU ARM GCC Compiler"
    Added compiler "GNU AVR GCC Compiler"
    Added compiler "GNU GCC Compiler for PowerPC"
    Added compiler "GNU GCC Compiler for TriCore"
    Compiler plugin activated
    Debugger plugin activated
    wxSmith - Aui plugin activated
    Autosave plugin activated
    wxSmith plugin activated
    wxSmith - MIME plugin plugin activated
    Code profiler plugin activated
    Project wizard added for 'Empty project'
    Project wizard added for 'Console application'
    Project wizard added for 'D application'
    Project wizard added for 'FLTK project'
    Project wizard added for 'GLFW project'
    Project wizard added for 'GLUT project'
    Project wizard added for 'GTK+ project'
    Project wizard added for 'Irrlicht project'
    Project wizard added for 'Lightfeather project'
    Project wizard added for 'OpenGL project'
    Project wizard added for 'Ogre project'
    Project wizard added for 'Code::Blocks plugin'
    Project wizard added for 'QT4 project'
    Project wizard added for 'SDL project'
    Project wizard added for 'SFML project'
    Project wizard added for 'Static library'
    Project wizard added for 'Shared library'
    Project wizard added for 'wxWidgets project'
    Build-target wizard added for 'Console'
    Build-target wizard added for 'Static library'
    Build-target wizard added for 'wxWidgets'
    Project wizard added for 'ARM Project'
    Project wizard added for 'AVR Project'
    Project wizard added for 'TriCore Project'
    Project wizard added for 'PowerPC Project'
    File(s) wizard added for 'Empty file'
    File(s) wizard added for 'C/C++ source'
    File(s) wizard added for 'C/C++ header'
    Scripted wizard plugin activated
    Valgrind plugin activated
    Regular expressions testbed plugin activated
    wxSmith - Contrib Items plugin activated
    CppCheck plugin activated
    Todo List plugin activated
    Code completion plugin activated
    Files extension handler plugin activated
    Cccc plugin activated
    Source Exporter plugin activated
    Source code formatter (AStyle) plugin activated
    AutoVersioning plugin activated
    IncrementalSearch plugin activated
    Foreign projects importer plugin activated
    Keyboard shortcuts plugin activated
    MouseSap plugin activated
    BrowseTracker plugin activated
    HexEditor plugin activated
    Copy Strings to clipboard plugin activated
    Initializing plugins...
    [New Thread 0xaaddcb40 (LWP 8047)]
    Program received signal SIGSEGV, Segmentation fault.
    0xb75237aa in wxStringBase::operator=(wxStringBase const&) () from /usr/lib/libwx_baseu-2.8.so.0
    (gdb) backtrace
    #0 0xb75237aa in wxStringBase::operator=(wxStringBase const&) () from /usr/lib/libwx_baseu-2.8.so.0
    #1 0xabee2133 in DebuggerGDB::Debug() () from /usr/lib/codeblocks/plugins/libdebugger.so
    #2 0xabed197b in DebuggerGDB::OnAttachToProcess(wxCommandEvent&) () from /usr/lib/codeblocks/plugins/libdebugger.so
    #3 0xb74ce9f8 in wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const () from /usr/lib/libwx_baseu-2.8.so.0
    #4 0xb755e59a in wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #5 0xb755e71b in wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) () from /usr/lib/libwx_baseu-2.8.so.0
    #6 0xb755ead1 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #7 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #8 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #9 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #10 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #11 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #12 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #13 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #14 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #15 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #16 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #17 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #18 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #19 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #20 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #21 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #22 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #23 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #24 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #25 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #26 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #27 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #28 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #29 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #30 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #31 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #32 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #33 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #34 0xb755ea61 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/libwx_baseu-2.8.so.0
    #35 0xb778cfb7 in ?? () from /usr/lib/libwx_gtk2u_core-2.8.so.0
    #36 0xb6a2016c in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
    #37 0xb6a1ec5c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #38 0xb6a31a10 in ?? () from /usr/lib/libgobject-2.0.so.0
    #39 0xb6a3a7a7 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #40 0xb6a3a913 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #41 0xb6d7d6c5 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
    #42 0xb6c5b3c7 in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
    #43 0xb6c5b7d1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #44 0xb6c4fb2d in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #45 0xb6c46762 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #46 0xb6a1d6ad in ?? () from /usr/lib/libgobject-2.0.so.0
    #47 0xb6a1ec5c in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #48 0xb6a31858 in ?? () from /usr/lib/libgobject-2.0.so.0
    #49 0xb6a3a5b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #50 0xb6a3a913 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #51 0xb6d7e743 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #52 0xb6c4492e in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #53 0xb6c44cc0 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #54 0xb6ab9078 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #55 0xb693907f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #56 0xb69397b0 in ?? () from /usr/lib/libglib-2.0.so.0
    #57 0xb6939dbb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #58 0xb6c43a5f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
    #59 0xb772ad8a in wxEventLoop::Run() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
    #60 0xb77a6c1f in wxAppBase::MainLoop() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
    #61 0xb77a64af in wxAppBase::OnRun() () from /usr/lib/libwx_gtk2u_core-2.8.so.0
    #62 0x08074566 in ?? ()
    #63 0xb7504ac6 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
    #64 0xb7504b66 in wxEntry(int&, char**) () from /usr/lib/libwx_baseu-2.8.so.0
    #65 0x0806c597 in ?? ()
    #66 0xb71db3d5 in __libc_start_main () from /lib/libc.so.6
    #67 0x08073d3d in ?? ()
    (gdb)
    Here is the XML file (debug report) that CodeBlocks gave to me after crash:
    <?xml version="1.0" encoding="utf-8"?>
    <report version="1.0" kind="exception">
    <system description="Linux 3.3.2-1-ARCH i686"/>
    <modules>
    <module path="/usr/bin/codeblocks" address="08048000" size="0008f000"/>
    <module path="/usr/bin/codeblocks" address="080dc000" size="00003000"/>
    <module path="[heap]" address="087ef000" size="0138e000"/>
    <module path="/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf" address="aa53f000" size="0004d000"/>
    <module path="/usr/lib/codeblocks/plugins/libHexEditor.so" address="aa5f7000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libHexEditor.so" address="aa5fb000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libBrowseTracker.so" address="aa631000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libMouseSap.so" address="aa634000" size="0000a000"/>
    <module path="/usr/lib/codeblocks/plugins/libMouseSap.so" address="aa63f000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libkeybinder.so" address="aa676000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libprojectsimporter.so" address="aa679000" size="0002a000"/>
    <module path="/usr/lib/codeblocks/plugins/libprojectsimporter.so" address="aa6a4000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libAutoVersioning.so" address="aa6de000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libastyle.so" address="aa6e1000" size="0003c000"/>
    <module path="/usr/lib/codeblocks/plugins/libastyle.so" address="aa71e000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libexporter.so" address="aa7df000" size="00003000"/>
    <module path="/usr/lib/codeblocks/plugins/libdefaultmimehandler.so" address="aa7e8000" size="00015000"/>
    <module path="/usr/lib/codeblocks/plugins/libdefaultmimehandler.so" address="aa7ff000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libIncrementalSearch.so" address="aa902000" size="00013000"/>
    <module path="/usr/lib/codeblocks/plugins/libIncrementalSearch.so" address="aa916000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libcodecompletion.so" address="ab118000" size="000a7000"/>
    <module path="/usr/lib/codeblocks/plugins/libcodecompletion.so" address="ab1c2000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libtodo.so" address="ab1c4000" size="00023000"/>
    <module path="/usr/lib/codeblocks/plugins/libtodo.so" address="ab1e8000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libCppCheck.so" address="ab1eb000" size="0000c000"/>
    <module path="/usr/lib/codeblocks/plugins/libCppCheck.so" address="ab1f8000" size="00001000"/>
    <module path="/usr/lib/wxSmithContribItems/libwxchartctrl.so.0.0.1" address="ab220000" size="00001000" version="0.0.1"/>
    <module path="/usr/lib/wxSmithContribItems/libwxchartctrl.so.0.0.1" address="ab223000" size="00001000" version="0.0.1"/>
    <module path="/usr/lib/codeblocks/plugins/libwxsmithcontribitems.so" address="ab24b000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libRegExTestbed.so" address="ab24e000" size="0000d000"/>
    <module path="/usr/lib/codeblocks/plugins/libRegExTestbed.so" address="ab25c000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libscriptedwizard.so" address="ab2a9000" size="00004000"/>
    <module path="/usr/lib/codeblocks/plugins/libProfiler.so" address="ab2ae000" size="0001a000"/>
    <module path="/usr/lib/codeblocks/plugins/libProfiler.so" address="ab2c9000" size="00001000"/>
    <module path="/usr/lib/libwxsmithlib.so.0.0.1" address="ab554000" size="00015000" version="0.0.1"/>
    <module path="/usr/lib/codeblocks/plugins/libValgrind.so" address="ab581000" size="0000d000"/>
    <module path="/usr/lib/codeblocks/plugins/libValgrind.so" address="ab58f000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libautosave.so" address="ab59d000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libwxSmithAui.so" address="ab59f000" size="00049000"/>
    <module path="/usr/lib/codeblocks/plugins/libwxSmithAui.so" address="ab5e9000" size="00003000"/>
    <module path="/usr/lib/codeblocks/plugins/libdebugger.so" address="ab5ef000" size="00097000"/>
    <module path="/usr/lib/codeblocks/plugins/libdebugger.so" address="ab68c000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libcompiler.so" address="ab68e000" size="0011c000"/>
    <module path="/usr/lib/codeblocks/plugins/libcompiler.so" address="ab7ad000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libhelp_plugin.so" address="ab7b0000" size="0010d000"/>
    <module path="/usr/lib/codeblocks/plugins/libhelp_plugin.so" address="ab8be000" size="00004000"/>
    <module path="/usr/lib/codeblocks/plugins/libcb_koders.so" address="ab8c8000" size="00012000"/>
    <module path="/usr/lib/codeblocks/plugins/libcb_koders.so" address="ab8db000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libSymTab.so" address="ab8f6000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libdragscroll.so" address="ab8f8000" size="0001c000"/>
    <module path="/usr/lib/codeblocks/plugins/libdragscroll.so" address="ab916000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libcodesnippets.so" address="aba1a000" size="00007000"/>
    <module path="/usr/lib/codeblocks/plugins/libbyogames.so" address="aba25000" size="00027000"/>
    <module path="/usr/lib/codeblocks/plugins/libbyogames.so" address="aba4f000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libheaderfixup.so" address="abb0b000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libclasswizard.so" address="abb0e000" size="00018000"/>
    <module path="/usr/lib/codeblocks/plugins/libclasswizard.so" address="abb27000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libcodestat.so" address="abb3c000" size="00001000"/>
    <module path="/usr/lib/wxSmithContribItems/libwxflatnotebook.so.0.0.1" address="abb3e000" size="0003e000" version="0.0.1"/>
    <module path="/usr/lib/wxSmithContribItems/libwxflatnotebook.so.0.0.1" address="abb7e000" size="00002000" version="0.0.1"/>
    <module path="/usr/lib/codeblocks/plugins/liblib_finder.so" address="abbf0000" size="00003000"/>
    <module path="/usr/lib/codeblocks/plugins/libThreadSearch.so" address="abbf4000" size="0004a000"/>
    <module path="/usr/lib/codeblocks/plugins/libThreadSearch.so" address="abc41000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libopenfileslist.so" address="abc43000" size="00009000"/>
    <module path="/usr/lib/codeblocks/plugins/libopenfileslist.so" address="abc4d000" size="00001000"/>
    <module path="/usr/share/fonts/TTF/DejaVuSansMono.ttf" address="abcae000" size="00052000"/>
    <module path="/usr/lib/codeblocks/plugins/libcopystrings.so" address="abe00000" size="00007000"/>
    <module path="/usr/lib/codeblocks/plugins/libcopystrings.so" address="abe08000" size="00001000"/>
    <module path="/usr/lib/codeblocks/plugins/libenvvars.so" address="abe23000" size="00001000"/>
    <module path="/usr/lib/wxSmithContribItems/libwxcustombutton.so.0.0.1" address="abe25000" size="0000a000" version="0.0.1"/>
    <module path="/usr/lib/wxSmithContribItems/libwxcustombutton.so.0.0.1" address="abe30000" size="00001000" version="0.0.1"/>
    <module path="/usr/share/mime/mime.cache" address="ade35000" size="0001f000"/>
    <module path="/usr/lib/libgvfscommon.so.0.0.0" address="ade6a000" size="00001000" version="0.0.0"/>
    <module path="/usr/lib/codeblocks/plugins/libCccc.so" address="ade6c000" size="00007000"/>
    <module path="/usr/lib/codeblocks/plugins/libCccc.so" address="ade74000" size="00001000"/>
    <module path="/usr/share/mime/mime.cache" address="ade76000" size="0001f000"/>
    <module path="/usr/lib/gio/modules/libgvfsdbus.so" address="adebf000" size="00001000"/>
    <module path="/usr/local/share/icons/hicolor/icon-theme.cache" address="adec1000" size="00091000"/>
    <module path="/usr/share/icons/hicolor/icon-theme.cache" address="af2a9000" size="01357000"/>
    <module path="/usr/lib/codeblocks/plugins/libwxsmith.so" address="b0701000" size="00002000"/>
    <module path="/usr/lib/codeblocks/plugins/libwxsmith.so" address="b0704000" size="00001000"/>
    <module path="/usr/share/fonts/TTF/DejaVuSans.ttf" address="b0721000" size="000b0000"/>
    <module path="/usr/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo" address="b07d4000" size="00008000"/>
    <module path="/dev/shm/pulse-shm-3776743730" address="b0fdd000" size="04001000"/>
    <module path="/lib/libnsl-2.15.so" address="b4ff3000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libvorbisenc.so.2.0.9" address="b4ff7000" size="00166000" version="2.0.9"/>
    <module path="/usr/lib/libvorbisenc.so.2.0.9" address="b516e000" size="00001000" version="2.0.9"/>
    <module path="/usr/lib/libFLAC.so.8.2.0" address="b51be000" size="00001000" version="8.2.0"/>
    <module path="/usr/lib/libasyncns.so.0.3.1" address="b51c4000" size="00001000" version="0.3.1"/>
    <module path="/usr/lib/libsndfile.so.1.0.25" address="b51c6000" size="0006c000" version="1.0.25"/>
    <module path="/usr/lib/libsndfile.so.1.0.25" address="b5233000" size="00001000" version="1.0.25"/>
    <module path="/usr/lib/libdbus-1.so.3.5.9" address="b5238000" size="00048000" version="3.5.9"/>
    <module path="/usr/lib/libdbus-1.so.3.5.9" address="b5281000" size="00001000" version="3.5.9"/>
    <module path="/usr/lib/libpulsecommon-1.1.so" address="b52e7000" size="00001000" version="1.1"/>
    <module path="/usr/lib/libpulse.so.0.13.5" address="b52e9000" size="0004c000" version="0.13.5"/>
    <module path="/usr/lib/libpulse.so.0.13.5" address="b5336000" size="00001000" version="0.13.5"/>
    <module path="/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so" address="b533f000" size="00001000" version="xpm"/>
    <module path="/usr/lib/libudev.so.0.13.1" address="b5341000" size="0000e000" version="0.13.1"/>
    <module path="/usr/lib/libudev.so.0.13.1" address="b5350000" size="00001000" version="0.13.1"/>
    <module path="/usr/lib/libcanberra-0.28/libcanberra-pulse.so" address="b5360000" size="00006000" version="pulse"/>
    <module path="/usr/lib/libcanberra-0.28/libcanberra-pulse.so" address="b5367000" size="00001000" version="pulse"/>
    <module path="/var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le32d4.cache-3" address="b540d000" size="0002a000"/>
    <module path="/var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-le32d4.cache-3" address="b5478000" size="00041000"/>
    <module path="/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so" address="b5519000" size="0002f000" version="2.0/2.10.0/engines/libclearlooks"/>
    <module path="/usr/lib/gtk-2.0/2.10.0/engines/libclearlooks.so" address="b5549000" size="00001000" version="2.0/2.10.0/engines/libclearlooks"/>
    <module path="/usr/lib/libltdl.so.7.3.0" address="b5553000" size="00001000" version="7.3.0"/>
    <module path="/usr/lib/libtdb.so.1.2.9" address="b5555000" size="00011000" version="1.2.9"/>
    <module path="/usr/lib/libtdb.so.1.2.9" address="b5567000" size="00001000" version="1.2.9"/>
    <module path="/usr/lib/libogg.so.0.8.0" address="b556e000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libvorbis.so.0.4.6" address="b5599000" size="00001000" version="0.4.6"/>
    <module path="/usr/lib/libvorbisfile.so.3.3.5" address="b559b000" size="00008000" version="3.3.5"/>
    <module path="/usr/lib/libvorbisfile.so.3.3.5" address="b55a4000" size="00001000" version="3.3.5"/>
    <module path="/usr/lib/libcanberra.so.0.2.5" address="b55b5000" size="00001000" version="0.2.5"/>
    <module path="/usr/lib/libcanberra-gtk.so.0.1.8" address="b55b7000" size="00004000" version="0.1.8"/>
    <module path="/usr/lib/libcanberra-gtk.so.0.1.8" address="b55bc000" size="00001000" version="0.1.8"/>
    <module path="/lib/libnss_files-2.15.so" address="b55f3000" size="0000b000" version="2.15"/>
    <module path="/lib/libnss_files-2.15.so" address="b55ff000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libjson.so.0.0.1" address="b5603000" size="00007000" version="0.0.1"/>
    <module path="/usr/lib/libjson.so.0.0.1" address="b560b000" size="00001000" version="0.0.1"/>
    <module path="/var/cache/fontconfig/a98d8961fa319a64d3cfd8640c79e62d-le32d4.cache-3" address="b561c000" size="00007000"/>
    <module path="/usr/share/locale/ru/LC_MESSAGES/libc.mo" address="b5629000" size="0002e000"/>
    <module path="/usr/lib/locale/locale-archive" address="b5788000" size="00200000"/>
    <module path="/lib/libbz2.so.1.0.6" address="b598e000" size="0000f000" version="1.0.6"/>
    <module path="/lib/libresolv-2.15.so" address="b599e000" size="00013000" version="2.15"/>
    <module path="/lib/libresolv-2.15.so" address="b59b2000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libpixman-1.so.0.24.4" address="b59b5000" size="00093000" version="0.24.4"/>
    <module path="/usr/lib/libpixman-1.so.0.24.4" address="b5a4c000" size="00001000" version="0.24.4"/>
    <module path="/usr/lib/libfreetype.so.6.8.1" address="b5ae4000" size="00004000" version="6.8.1"/>
    <module path="/usr/lib/libXdmcp.so.6.0.0" address="b5ae9000" size="00005000" version="6.0.0"/>
    <module path="/usr/lib/libXdmcp.so.6.0.0" address="b5aef000" size="00001000" version="6.0.0"/>
    <module path="/usr/lib/libXau.so.6.0.0" address="b5af1000" size="00002000" version="6.0.0"/>
    <module path="/usr/lib/libXau.so.6.0.0" address="b5af4000" size="00001000" version="6.0.0"/>
    <module path="/usr/lib/liblzma.so.5.0.3" address="b5b1a000" size="00001000" version="5.0.3"/>
    <module path="/usr/lib/libuuid.so.1.3.0" address="b5b1c000" size="00004000" version="1.3.0"/>
    <module path="/usr/lib/libuuid.so.1.3.0" address="b5b21000" size="00001000" version="1.3.0"/>
    <module path="/usr/lib/libICE.so.6.3.0" address="b5b38000" size="00001000" version="6.3.0"/>
    <module path="/usr/lib/libffi.so.5.0.10" address="b5b3c000" size="00005000" version="5.0.10"/>
    <module path="/usr/lib/libffi.so.5.0.10" address="b5b42000" size="00001000" version="5.0.10"/>
    <module path="/lib/librt-2.15.so" address="b5b44000" size="00007000" version="2.15"/>
    <module path="/lib/librt-2.15.so" address="b5b4c000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libpcre.so.1.0.0" address="b5ba7000" size="00001000" version="1.0.0"/>
    <module path="/usr/lib/libpcre.so.1.0.0" address="b5ba9000" size="00001000" version="1.0.0"/>
    <module path="/usr/lib/libXdamage.so.1.1.0" address="b5bac000" size="00001000" version="1.1.0"/>
    <module path="/usr/lib/libXcomposite.so.1.0.0" address="b5bae000" size="00002000" version="1.0.0"/>
    <module path="/usr/lib/libXcomposite.so.1.0.0" address="b5bb1000" size="00001000" version="1.0.0"/>
    <module path="/usr/lib/libXcursor.so.1.0.2" address="b5bbb000" size="00001000" version="1.0.2"/>
    <module path="/usr/lib/libXrandr.so.2.2.0" address="b5bbe000" size="00007000" version="2.2.0"/>
    <module path="/usr/lib/libXrandr.so.2.2.0" address="b5bc6000" size="00001000" version="2.2.0"/>
    <module path="/usr/lib/libXi.so.6.1.0" address="b5bd5000" size="00001000" version="6.1.0"/>
    <module path="/usr/lib/libXrender.so.1.3.0" address="b5bd7000" size="00009000" version="1.3.0"/>
    <module path="/usr/lib/libXrender.so.1.3.0" address="b5be1000" size="00001000" version="1.3.0"/>
    <module path="/usr/lib/libXext.so.6.4.0" address="b5bf3000" size="00001000" version="6.4.0"/>
    <module path="/usr/lib/libgmodule-2.0.so.0.3000.2" address="b5bf5000" size="00003000" version="0.3000.2"/>
    <module path="/usr/lib/libgmodule-2.0.so.0.3000.2" address="b5bf9000" size="00001000" version="0.3000.2"/>
    <module path="/usr/lib/libfontconfig.so.1.4.4" address="b5bfb000" size="00033000" version="1.4.4"/>
    <module path="/usr/lib/libfontconfig.so.1.4.4" address="b5c2f000" size="00001000" version="1.4.4"/>
    <module path="/usr/lib/libpangoft2-1.0.so.0.2904.0" address="b5c5c000" size="00001000" version="0.2904.0"/>
    <module path="/usr/lib/libgio-2.0.so.0.3000.2" address="b5c5e000" size="00140000" version="0.3000.2"/>
    <module path="/usr/lib/libgio-2.0.so.0.3000.2" address="b5da0000" size="00001000" version="0.3000.2"/>
    <module path="/usr/lib/libcairo.so.2.11000.2" address="b5da2000" size="000b4000" version="2.11000.2"/>
    <module path="/usr/lib/libcairo.so.2.11000.2" address="b5e57000" size="00001000" version="2.11000.2"/>
    <module path="/usr/lib/libatk-1.0.so.0.20209.1" address="b5e5a000" size="0001e000" version="0.20209.1"/>
    <module path="/usr/lib/libatk-1.0.so.0.20209.1" address="b5e7a000" size="00001000" version="0.20209.1"/>
    <module path="/usr/lib/libXfixes.so.3.1.0" address="b5e7c000" size="00004000" version="3.1.0"/>
    <module path="/usr/lib/libXfixes.so.3.1.0" address="b5e81000" size="00001000" version="3.1.0"/>
    <module path="/usr/lib/libpangocairo-1.0.so.0.2904.0" address="b5e8d000" size="00001000" version="0.2904.0"/>
    <module path="/usr/lib/libxcb.so.1.1.0" address="b5e8f000" size="00020000" version="1.1.0"/>
    <module path="/usr/lib/libxcb.so.1.1.0" address="b5eb0000" size="00001000" version="1.1.0"/>
    <module path="/usr/lib/libexpat.so.1.6.0" address="b5ed7000" size="00001000" version="1.6.0"/>
    <module path="/usr/lib/libexpat.so.1.6.0" address="b5eda000" size="00001000" version="1.6.0"/>
    <module path="/usr/lib/libz.so.1.2.6" address="b5ef0000" size="00001000" version="1.2.6"/>
    <module path="/usr/lib/libtiff.so.5.0.6" address="b5ef3000" size="0006f000" version="5.0.6"/>
    <module path="/usr/lib/libtiff.so.5.0.6" address="b5f63000" size="00002000" version="5.0.6"/>
    <module path="/usr/lib/libjpeg.so.8.0.2" address="b5f66000" size="00045000" version="8.0.2"/>
    <module path="/usr/lib/libjpeg.so.8.0.2" address="b5fac000" size="00001000" version="8.0.2"/>
    <module path="/usr/lib/libpng15.so.15.10.0" address="b5fbd000" size="0002e000" version="15.10.0"/>
    <module path="/usr/lib/libpng15.so.15.10.0" address="b5fec000" size="00001000" version="15.10.0"/>
    <module path="/usr/lib/libSM.so.6.0.1" address="b5ff4000" size="00001000" version="6.0.1"/>
    <module path="/usr/lib/libXxf86vm.so.1.0.0" address="b5ff6000" size="00004000" version="1.0.0"/>
    <module path="/usr/lib/libXxf86vm.so.1.0.0" address="b5ffb000" size="00001000" version="1.0.0"/>
    <module path="/usr/lib/libXinerama.so.1.0.0" address="b5ffe000" size="00001000" version="1.0.0"/>
    <module path="/usr/lib/libgthread-2.0.so.0.3000.2" address="b6001000" size="00004000" version="0.3000.2"/>
    <module path="/usr/lib/libgthread-2.0.so.0.3000.2" address="b6006000" size="00001000" version="0.3000.2"/>
    <module path="/usr/lib/libpango-1.0.so.0.2904.0" address="b604f000" size="00001000" version="0.2904.0"/>
    <module path="/usr/lib/libglib-2.0.so.0.3000.2" address="b6051000" size="000f6000" version="0.3000.2"/>
    <module path="/usr/lib/libglib-2.0.so.0.3000.2" address="b6148000" size="00001000" version="0.3000.2"/>
    <module path="/usr/lib/libgdk_pixbuf-2.0.so.0.2400.1" address="b616b000" size="00001000" version="0.2400.1"/>
    <module path="/usr/lib/libgobject-2.0.so.0.3000.2" address="b616d000" size="0004c000" version="0.3000.2"/>
    <module path="/usr/lib/libgobject-2.0.so.0.3000.2" address="b61ba000" size="00001000" version="0.3000.2"/>
    <module path="/usr/lib/libgdk-x11-2.0.so.0.2400.10" address="b61bc000" size="000ab000" version="0.2400.10"/>
    <module path="/usr/lib/libgdk-x11-2.0.so.0.2400.10" address="b6269000" size="00001000" version="0.2400.10"/>
    <module path="/usr/lib/libgtk-x11-2.0.so.0.2400.10" address="b66be000" size="00001000" version="0.2400.10"/>
    <module path="/usr/lib/libgtk-x11-2.0.so.0.2400.10" address="b66c3000" size="00002000" version="0.2400.10"/>
    <module path="/lib/libm-2.15.so" address="b66c7000" size="0002a000" version="2.15"/>
    <module path="/lib/libm-2.15.so" address="b66f2000" size="00001000" version="2.15"/>
    <module path="/lib/libdl-2.15.so" address="b66f6000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libX11.so.6.3.0" address="b66f8000" size="00132000" version="6.3.0"/>
    <module path="/usr/lib/libX11.so.6.3.0" address="b682b000" size="00001000" version="6.3.0"/>
    <module path="/usr/lib/libwx_baseu_xml-2.8.so.0.8.0" address="b682f000" size="00008000" version="0.8.0"/>
    <module path="/usr/lib/libwx_baseu_xml-2.8.so.0.8.0" address="b6838000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_richtext-2.8.so.0.8.0" address="b683a000" size="000da000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_richtext-2.8.so.0.8.0" address="b691a000" size="00001000" version="0.8.0"/>
    <module path="/lib/libc-2.15.so" address="b691d000" size="0019b000" version="2.15"/>
    <module path="/lib/libc-2.15.so" address="b6ab9000" size="00002000" version="2.15"/>
    <module path="/usr/lib/libgcc_s.so.1" address="b6abf000" size="0001c000" version="1"/>
    <module path="/usr/lib/libstdc++.so.6.0.17" address="b6adc000" size="000dc000" version="6.0.17"/>
    <module path="/usr/lib/libstdc++.so.6.0.17" address="b6bbc000" size="00001000" version="6.0.17"/>
    <module path="/lib/libpthread-2.15.so" address="b6bc4000" size="00017000" version="2.15"/>
    <module path="/lib/libpthread-2.15.so" address="b6bdc000" size="00001000" version="2.15"/>
    <module path="/usr/lib/libwx_baseu-2.8.so.0.8.0" address="b6be0000" size="00136000" version="0.8.0"/>
    <module path="/usr/lib/libwx_baseu-2.8.so.0.8.0" address="b6d17000" size="00004000" version="0.8.0"/>
    <module path="/usr/lib/libwx_baseu_net-2.8.so.0.8.0" address="b6d26000" size="00029000" version="0.8.0"/>
    <module path="/usr/lib/libwx_baseu_net-2.8.so.0.8.0" address="b6d50000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_core-2.8.so.0.8.0" address="b6d52000" size="002f7000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_core-2.8.so.0.8.0" address="b704a000" size="00026000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_adv-2.8.so.0.8.0" address="b707d000" size="000ab000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_adv-2.8.so.0.8.0" address="b7130000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_html-2.8.so.0.8.0" address="b7133000" size="00089000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_html-2.8.so.0.8.0" address="b71c1000" size="00002000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_qa-2.8.so.0.8.0" address="b71c4000" size="00019000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_qa-2.8.so.0.8.0" address="b71de000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_xrc-2.8.so.0.8.0" address="b71e0000" size="0007a000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_xrc-2.8.so.0.8.0" address="b725d000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_aui-2.8.so.0.8.0" address="b725f000" size="0005d000" version="0.8.0"/>
    <module path="/usr/lib/libwx_gtk2u_aui-2.8.so.0.8.0" address="b72bf000" size="00001000" version="0.8.0"/>
    <module path="/usr/lib/libcodeblocks.so.0.0.1" address="b72c1000" size="00431000" version="0.0.1"/>
    <module path="/usr/lib/libcodeblocks.so.0.0.1" address="b7703000" size="00005000" version="0.0.1"/>
    <module path="/usr/local/share/mime/mime.cache" address="b770e000" size="00001000"/>
    <module path="/lib/libutil-2.15.so" address="b7711000" size="00001000" version="2.15"/>
    <module path="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so" address="b7713000" size="00005000" version="module"/>
    <module path="/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so" address="b7719000" size="00001000" version="module"/>
    <module path="/usr/lib/gconv/UTF-32.so" address="b7733000" size="00002000" version="32"/>
    <module path="/usr/lib/gconv/UTF-32.so" address="b7736000" size="00001000" version="32"/>
    <module path="[vdso]" address="b7738000" size="00001000"/>
    <module path="/lib/ld-2.15.so" address="b7759000" size="00001000" version="2.15"/>
    </modules>
    <stack>
    <frame level="0" function="wxFatalSignalHandler" offset="00000023"/>
    <frame level="1"/>
    <frame level="2" function="wxStringBase::operator=(wxStringBase const&amp;)" offset="0000001a"/>
    <frame level="3" function="DebuggerGDB::Debug()" offset="000001f3"/>
    <frame level="4" function="DebuggerGDB::OnAttachToProcess(wxCommandEvent&amp;)" offset="0000014b"/>
    <frame level="5" function="wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&amp;), wxEvent&amp;) const" offset="00000028"/>
    <frame level="6" function="wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&amp;, wxEvtHandler*, wxEvent&amp;)" offset="0000007a"/>
    <frame level="7" function="wxEventHashTable::HandleEvent(wxEvent&amp;, wxEvtHandler*)" offset="000000ab"/>
    <frame level="8" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="000000e1"/>
    <frame level="9" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="10" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="11" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="12" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="13" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="14" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="15" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="16" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="17" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="18" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="19" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="20" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="21" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="22" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="23" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="24" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="25" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="26" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="27" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="28" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="29" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="30" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="31" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="32" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="33" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="34" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="35" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="36" function="wxEvtHandler::ProcessEvent(wxEvent&amp;)" offset="00000071"/>
    <frame level="37"/>
    <frame level="38" function="g_cclosure_marshal_VOID__VOID" offset="0000008c"/>
    <frame level="39" function="g_closure_invoke" offset="000001ac"/>
    <frame level="40"/>
    <frame level="41" function="g_signal_emit_valist" offset="00000777"/>
    <frame level="42" function="g_signal_emit" offset="00000033"/>
    <frame level="43" function="gtk_widget_activate" offset="00000095"/>
    <frame level="44" function="gtk_menu_shell_activate_item" offset="00000117"/>
    <frame level="45"/>
    <frame level="46"/>
    <frame level="47"/>
    <frame level="48"/>
    <frame level="49" function="g_closure_invoke" offset="000001ac"/>
    <frame level="50"/>
    <frame level="51" function="g_signal_emit_valist" offset="00000589"/>
    <frame level="52" function="g_signal_emit" offset="00000033"/>
    <frame level="53"/>
    <frame level="54" function="gtk_propagate_event" offset="000000ce"/>
    <frame level="55" function="gtk_main_do_event" offset="000002c0"/>
    <frame level="56"/>
    <frame level="57" function="g_main_context_dispatch" offset="000001df"/>
    <frame level="58"/>
    <frame level="59" function="g_main_loop_run" offset="0000014b"/>
    <frame level="60" function="gtk_main" offset="000000af"/>
    <frame level="61" function="wxEventLoop::Run()" offset="0000004a"/>
    <frame level="62" function="wxAppBase::MainLoop()" offset="0000004f"/>
    <frame level="63" function="wxAppBase::OnRun()" offset="0000001f"/>
    <frame level="64"/>
    </stack>
    </report>
    I've just wrote a simple helloworld in C, added getchar() to wait, compiled it with "-g" flag and tried to attach to it with this IDE. Tried on 2 machines, different binaries: same result - IDE crashes. Am I doing something wrong, or this is a problem with WxWidgets/Code::Blocks?
    My packages are: wxgtk 2.8.12.1-3, codeblocks 10.05-2 and gdb 7.4-1.
    Last edited by dontbugme (2012-04-24 02:19:16)

    Are you running on an x86_64 architecture?  If so I have a pacman Code::Blocks package which is the current SVN I could upload somewhere for you..
    If not, check: Here to download and make the latest SVN version.  There is a patch you have to apply on that page and also you need to make the build using the makepkg "-fpermissive" option.
    Why do you want this SVN version (version 7932)?  Well, it's current as of April 14 this month.  The C::B 10.05 version is 2010, 5th month.  So way out of date.  There have been no official builds since then so you want to be using SVN until there is.
    I don't know if using the SVN version would fix your issue but even if not: it has a host of other enhancements and fixes.

  • Help required in understanding of static blocks in java

    Hi ,
    Can some one help me in understanding the difference between static blocks in java....also what is the difference in declaring some static variables in a class and and declaring some variables in a static block? From an architecture viewpoint when should one use static blocks in Java?

    Static blocks are piece of code that can beexecuted
    before creating an instance of a class.static blocks are executed once, when the class
    itself is loaded by the JVM. They are not executed
    before creating each instance of a class.
    For example whatever you include in the mainn method will be
    executed without you having to create the instanceof
    the class using the new operator. So you can saythe
    main method is a static block.main is not a static initialisation block but a
    static method. a special case static method at that -
    it is only executed when the containing class is
    specified as a parameter to the JVM. (unless you
    specifcally call it elsewhere in code - but that
    would be bad form).
    in answer to the original post, static variables
    belong to the class. each instance of the class share
    the same static variables. Public static vars can be
    accessed by prefixing them with the class name. A
    static initialisation block can be used to
    initialise static variables. Variables declared
    within the static initialisation block exist only
    within the scope of the block.
    e.g.
    public class Foo {
    static Bar bar;        // static member variable
    // static initialisation block
    static {
    // variable declared in static block...
    String barInfo =
    arInfo = System.getParameter("barInfo");
    // ... used to initialise the static var
    bar = new Bar(barInfo);
    So is the only purpose of static initialization blocks is to initialize static variables? Does the initialization of static variables inside a static block make any difference in performance? If yes , then how ?

  • Foreach loop in static block won't compile

    When I try to compile this:public class TestEnum
      private static String[] numerals =
          {"einz", "zwei", "drei", "vier"};
      static
        for (String n : numerals)
          // doesn't matter what's in here
      public static void main(String[] args)
    }I get this exception:An exception has occurred in the compiler (1.4.2-beta).
    java.lang.NullPointerException
        at com.sun.tools.javac.comp.Lower.visitArrayForeachLoop(Lower.java:2269)
        at com.sun.tools.javac.comp.Lower.visitForeachLoop(Lower.java:2242)
        at com.sun.tools.javac.tree.Tree$ForeachLoop.accept(Tree.java:559)
        at com.sun.tools.javac.comp.Lower.translate(Lower.java:1580)
        at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:51)
        at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:131)
        at com.sun.tools.javac.tree.Tree$Block.accept(Tree.java:497)
        at com.sun.tools.javac.comp.Lower.translate(Lower.java:1580)
        at com.sun.tools.javac.comp.Lower.visitClassDef(Lower.java:1645)
        at com.sun.tools.javac.tree.Tree$ClassDef.accept(Tree.java:409)
        at com.sun.tools.javac.comp.Lower.translate(Lower.java:1580)
        at com.sun.tools.javac.comp.Lower.translate(Lower.java:1594)
        at com.sun.tools.javac.comp.Lower.translateTopLevelClass(Lower.java:2438)
        at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:408)
        at com.sun.tools.javac.main.Main.compile(Main.java:523)
        at com.sun.tools.javac.Main.compile(Main.java:41)
        at com.sun.tools.javac.Main.main(Main.java:32)The same thing happens if I use foreach with a Collection instead an array. If I use an old-style for loop or Iterator in the static block, it compiles fine. I can also put the foreach loop in the main method, and it works. Is this a known bug?

    You guys rock. Thanks for finding this problem. I'll get it fixed.

  • Use of functions in static block

    Hello,
    I have this app containing a static {} block. The reason it's there is to 1) provide a splash screen 2) have input dialog to process input string and check if it's valid in order to load app or not.
    In pseudocode it's like this:
    1 - get input string with showInputDialog()
    2 - check for the input string validity (a valid string is with prefix A-, C- or S-)
    3 - if string is valid, load the app
    4 - if string is not valid, proceed to step 1.
    As you may already see, there is going to be a lot of code (with if-else statements) to check for A-, C- and S- prefixed because I am using indexOf() function which takes only one parameter.
    I am considering a way to somehow check recursively, but for this I think I'll need a function to call indexOf() with A-, C-, S- and assess validity for each case.
    My question is, is there a way in the static block to have a function? Or can somebody please recommend an efficient approach to checking a string validity with different possibilities inside a static block as in my case, to avoid lots of if-else statements?
    P.S. My apologies for initially posting this thread in wrong section.
    Thank you!
    Victor.

    DrClap wrote:
    What's a function? And why are you particularly concerned about doing those things in a static initializer as opposed to in some other place?Hi,
    Sorry, I'm still thinking c++. I meant method. Something like of the form:
    static
    boolean valid = false;
    while string is not valid
    stringfrominput = showInputDialog();   
    //determine if string is valid
    valid = checkvalid(stringfrominput)
    //if possible to have
    boolean checkvalid(stringfrominput)
    recursively process stringfrom input based on A-, S-, or C- prefixes
    return boolean value
    }I have a jar app. It is Windows-based and runs as a TrayIcon application. If I include this process when class is loaded, this means that the app will be loaded with all its features. But I need to make sure that the app's features will be loaded only if certain conditions are met.
    I am not sure how else to approach this requirement without using static {} block.
    Thank you,
    Victor.

  • Why do we use static block ????

    my question is that why do we use static block for certain statements and declarations ?? what advantage do they hold???
    Please help me........

    Here is an example:
    If you use a JDBC-driver, it's enough to write:
       String driverName = "package.MyDriver";
       Class.forName(driverName);In the class "MyDriver" there is a static block:
    public class MyDriver implements java.sql.Driver {
       static {
          MyDriver driver = new MyDriver();
          java.sql.DriverManager.registerDriver(driver);
    }

  • Static block in superclass to initialize static members in subclasses

    I am trying to create several classes that are all very similar and should derive from a super class because they all have common members and are all initialized the same way. I would prefer every member of my subclasses to be static and final as they will be initialized once and only once. I can not figure out the best way to make this work. Here is an example (using code that does not work, but you can see what I am trying to do):
    class Super
        protected static final String initializedInEachSubclass;
        protected static final String alsoInitializedInEachSubclass;
        // these need to be accessed from anywhere
        public static final String initializedInSuperclass;
        public static final String alsoInitializedInSuperclass;
        // this static initialization block is exactly the same for every instance
        static
            // initialize these based on what the subclasses initialized
            initializedInSuperclass = initializedInEachSubclass + alsoInitializedInEachSubclass;
        private Super () {} // never instantiated
        public static final String getMoreInfo ()
            // the same for each instance
            return Integer.toString (initializedInEachSubclass.length ());
    class Sub1 extends Super
        static
            initializedInEachSubclass = "My String for Sub1";
            alsoInitializedInEachSubclass = "My Other String for Sub1";
        private Sub1 () {} // never instantiated
    }The problem with the above code is that the static block in Super uses static final variables that have not been initialized yet. I can't make Super abstract. If I initialize the final variables in Super, then I can not reinitialize them in Sub1. But if they are not final, then they could be changed after being initialized (which I would rather not allow). I could make everything protected and not final and then make public get... () methods, but I like accessing them as attributes. It seems like this should be possible, but everything I have tried has led me to a catch-22.
    Any ideas on how I can put all my redundant initialization code in one place but still allow the subclasses to initialize the static members that make each of them unique? I will be happy to clarify my examples if you need more information.
    Edited by: sawatdee on Jan 3, 2008 9:04 AM

    sawatdee wrote:
    I am basically trying to avoid having redundant code in several classes when the code will be exactly the same in all of them.That's the wrong reason to subclass. You subclass to express type specialization. That is, a Dog IS-A Mammal, but it's a special type of Mammal that implements certain common mammal behaviors in a dog-specific way. A LinkedList IS-A List, but in implements common list operations in linked-list-specific ways.
    I don't really need to have the static final members in a superclass (and I don't even need a superclass at all), but I don't know how else to execute a big static initialization block in several classes when that code is exactly the same in all of them. Without knowing more details about what you're trying to do, this sounds like a case for composition rather than inheritance. What's now your superclass would be a separate class that all your "sublasses" have a reference to. If they each need their own values for its attributes, they'd each have their own instances, and the stuff that's static in the current superclass would be non-static in the "subs". If the values for the common attributes are class-wide across the "subs", the contained former super can be static.
    public class CommonAttrs {
      private final String attr1;
      private final int attr2;
      public CommonAttrs(String attr1, int attr2) {
        this.attr1 = attr1;
        this.attr2 = attr2;
    public class FormerSub1 {
      private static final CommonAttrs = new CommonAttrs("abc", 123);
    ... etc. ..

  • Clarification regarding static blocks.

    I can understand from this about the static initialization block. I just need one clarification. What is the difference between the blocks with and without the 'static' keyword? For eg., the following code prints 'Hello'
    class ClassWithStaticBlock {
              System.out.println("Hello");
    public class StaticBlockTester {
         public static void main(String[] args) {
              new ClassWithStaticBlock();
    }If I modify the class ClassWithStaticBlock like given below, I receive the same output. So, what is the difference between the two?
    class ClassWithStaticBlock {
         static {
              System.out.println("Hello");
    }Thanks.

    The static block is only run upon loading of the class. Well, during the initialization phase of loading it, but it amounts to much the same thing. Non-static initiializers are run every time the class is instantiated. Try this
    class ClassWithInitializers {
      static {
       System.err.printlln("Loading class");
        System.err.println("Initializing");
      public static void main(String[] args) {
        new ClassWithInitializers();
        new ClassWithInitializers();
        new ClassWithInitializers();
        new ClassWithInitializers();
    }See any difference?

  • Exception handling in static block

    How to handle and exception raised in static block, pls answer

    Yeah, you are right, but I was just quoting the example on how to use it.
    Now, come to your problem,
    1. Static blocks are executed first time, when a class is loaded, i.e. when first reference of class is made.
    2. So, handle the situation there.
    E.g.
    You have test class:
    public class Test {
         static{
              try{
                   String s = null;
                   File f = new File(s);
              }catch(Throwable ne)
                   System.out.println("Eror");
                   throw new RuntimeException(); // Or use Error depends on your implementation
         public static void abc(){
              System.out.println("Hello");
    Now,
    calling it from another class:
    public class Test1 {
         public static void main(String[] args) {
              try{
              Test.abc(); *// This is the first instance where class for Test will be load and hence the static block will be executed*
              }catch(Throwable th) // Or catch Error
                   th.printStackTrace(); // Do the handling
              System.out.println("Done");
    This is a standard practice. From static block, instead of throwing Error exception, use some of your inherited class from Error. (i.e. create a exception framework inside your application)
    Hope this explains my point.

  • Exception in static block + re-instantiating

    Hello All,
    I have got a number of unit tests and one that is running is causing an exception in a static block of a class which is expected. It throws an ExceptionInInitializerError which I catch in the unit test.
    But then another test is running using the same class and this time it should pass and create an instance of the same class as before.
    But instead I receive a java.lang.NoClassDefFoundError with no class name. Why? Can't I instantiate a class again once the initialisation had failed?
    Regards
    Jonas

    It's part of the VM Specification.
    See [2.17.5 Detailed Initialization Procedure|http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#24237]
    The first time,
    10. Otherwise, the initializers must have completed abruptly by throwing some exception E. If the class of E is not Error or one of its subclasses, then create a new instance of the class ExceptionInInitializerError, with E as the argument, and use this object in place of E in the following step. But if a new instance of ExceptionInInitializerError cannot be created because an OutOfMemoryError occurs, then instead use an OutOfMemoryError object in place of E in the following step.After that,
    5. If the Class object is in an erroneous state, then initialization is not possible. Release the lock on the Class object and throw a NoClassDefFoundError.

  • Static block in java

    Suppose I have a class that has a static block in it
    public abstract class A {
        static {
        public A(){
        public void doSomething(){
    }And I have two other class viz Class B and Class C which inherit from class A. In this case will classB and classC each call the static block so that it gets called twice in all or will it be only once between Class B and Class C
    public class B extends A {
        public B(){
    public class C extends A {
        public C(){
    }

    And I have two other class viz Class B and Class C which inherit from class A. In this case will classB and classC each call the static block so that it gets called twice in all or will it be only once between Class B and Class CA static block (or static initializer) is executed only once per class, when the class is initialized. The fact that several other classes subclass the superclass does not imply it has to be reinitialized.

Maybe you are looking for

  • Issues with WIFI-connection in the Spotify app

    I have a very annoying problem with my Nokia 5800 XM and the Spotify-app. I updated the app to v. 0.4.3.9 yesterday and it required that I uninstalled the old version first, i.e deleting all my cached tracks. Now today when I'm going to resync (on WL

  • How do I find the password for login keychain safari

    How do I find the login password for keychain

  • Parallel processing of Jobs in Java

    Hi Sun forum Experts, we are facing a problem in parallel processing of jobs in java,The jdk version used is 1.4. Find the issue analysis as below Assume we have TABLE1 as below:   1st job completed running and updates the status to OK by running an

  • From preview to final release

    Can you upgrade from a preview version of windows 10 to the final version when it comes out?

  • Oracle audit parameter

    Hello, auditor complained settings of audit parameters in oracle 11, especially audit_sys_operations=FALSE and audit_syslog_level=' '. I found notes 1551504, 700548, 1963700, 1128663 etc with informations about technical configuration. But I didn't f