Wednesday, April 17, 2013

Installing XDebug on Ubuntu 12.04

mkdir ~/opt && cd ~/opt
wget http://xdebug.org/files/xdebug-2.2.2.tgz
tar -xzvf xdebug-2.2.2.tgz && cd xdebug-2.2.2/
phpize
auto-apt run ./configure
make
sudo checkinstall
sudo nano /etc/php5/mods-available/xdebug.ini
sudo php5enmod xdebug
php -i | grep xdebug

Explanation

  1. Create directory opt inside the home directory and change to created directory. Change directory name and location as needed
  2. Get the latest version of Xdebug. Adjust URL to point to the latest or desired Xdebug version
  3. Prepare the build environment for a PHP extension. See phpize manual.
  4. Use auto-apt just in case there are missing dependencies. Not likely to happen in this case.
  5. Build extension
  6. Create and install deb package. For details see Checkinstall wiki.
    1. The package documentation directory ./doc-pak does not exist.
      1. Should I create a default set of package docs?  [y]: 
      2. Type y
    2. Please write a description for the package.
      1. End your description with an empty line or EOF.
      2. Enter Xdebug 2.2.2 or whatever might be suitable
    3. This package will be built according to these values:
      1. Options 0 to 13 listed
      2. Enter a number to change any of them or press ENTER to continue:
      3. Make changes as needed
  7. Create extension configuration file. For details see Xdebug Documentation.
  8. Enable extension
  9. Check if extension is installed and configured

Basic extension configuration

zend_extension=/usr/lib/php5/20100525/xdebug.so

Prerequests

See Compiling Software wiki entry. Aside from basics php5-dev package must be installed on the system.

Thursday, November 8, 2012

NetBeans IDE 7.3 Beta 2 - Find Usages

NetBeans 7.3 Beta 2 has been released earlier today. You will find more information here: NB 7.3 beta 2 Release Information

One of the most usable improvements I found is the way how results are displayed/ordered in Find Usages Logical View.

In earlier versions it was quite hard to find what are you looking for. Attempting to get usages of a method having common name such as init(), setHandler() or run() might return hundreds of results. The only way to figure out a location of a file where usage occurred was to place a mouse over a file name and wait for a tooltip to display.



Find Usages - Logical View is way better organized in NetBeans IDE 7.3 Beta 2.



One can easily disregard usages of run() method in EZComponents or Zend Framework and focus on desired components.

Hopefully this change will find it's way to Refactoring - Logical View in final NetBeans IDE 7.3 release.

Wednesday, July 25, 2012

NetCAT

I am astonished!  Over 40 issues I reported during NetCAT 7.2 where resolved and included in the latest NetBeans 7.2 release!

In total NetCAT team reported 1019 bugs of which 37% was resolved. Awesome work done by the NetBeans developers and QE engineers.


184465Opening of npss file may block AWT
184669java.util.MissingResourceException: Can't find resource for bundle org.openide.util.NbBundle$PBundle, key org.openide.actions.PopupAction
201257InternalError: processing event: -1
203427[71cat] IndexOutOfBoundsException: Invalid line index=600 >= lineCount=1
203827Minimize TextLayout creation and processing to improve performance
2048184s - ToolbarPool$Folder.createInstance may block in waitFinished()
207247[71cat] NullPointerException at org.netbeans.modules.php.editor.nav.DeclarationFinderImpl.getReferenceSpan
207402[71cat] IllegalArgumentException: Parameter file was not normalized. Was /.. instead of /
207991Large project hangs Netbeans 7.1 indefinitely.
208322[71cat] NullPointerException at org.netbeans.modules.versioning.core.api.VCSFileProxy.createFileProxy
208623[71cat] NullPointerException at org.netbeans.modules.versioning.DelegatingVCS$DelegatingHistoryProvider.getHistory
208652Infinite loop in DirectMergeContainer
208774IllegalArgumentException: Comparison method violates its general contract!
208788IllegalStateException: startCreationOffset=694 > matchOffset=683
208931Error when changing text.
209019StringIndexOutOfBoundsException: String index out of range: 0
209327ClassCastException: javax.swing.JLabel cannot be cast to javax.swing.JMenuItem
209460NullPointerException at com.mysql.jdbc.ConnectionImpl.registerStatement
209556NullPointerException at org.netbeans.modules.subversion.ui.repository.Repository.onSelectedRepositoryChange
209594UnsupportedOperationException: Not supported yet.
209665NullPointerException at org.netbeans.modules.bugtracking.spi.BugtrackingFactory.getIssueImpl
209670NullPointerException at javax.swing.BoxLayout.preferredLayoutSize
210058NullPointerException at org.netbeans.modules.subversion.ui.commit.CommitAction$5.getCopiedFromFile
210415NullPointerException at org.netbeans.modules.editor.lib2.view.DocumentView.updateStartEndOffsets
210502AssertionError: profile
210596NullPointerException at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.getInfo
210628java.util.ConcurrentModificationException at java.util.AbstractList$Itr.checkForComodification
210767StringIndexOutOfBoundsException: String index out of range: 803
210976StringIndexOutOfBoundsException: String index out of range: 399
211002IllegalArgumentException: Parameter file was not normalized. Was ../../../../usr/share/php/PHPUnit instead of /usr/share/php/PHPUnit
211425java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification
211439Throwable: Using stale writer, possibly forgotten call to store, old owner Thread Thread[RepositoryUpdater.worker,1,system], new owner Thread Thread[AWT-EventQueue-0,6,IDE Main] .
211744IllegalStateException: No instance data can be specified.
211759AssertionError at org.netbeans.modules.csl.editor.hyperlink.GoToSupport.getIdentifierSpan
212120Cannot merge changes from the trunk into working copy
212237IllegalStateException: Somebody changed internal state meanwhile! Expected: Inited: false Thread: Thread[org.netbeans.modules.project.ui.ProjectTab,1,system] InProgress: true MustNotify: false Entries
212246IllegalStateException: Somebody changed internal state meanwhile! Expected: Inited: true Thread: Thread[AWT-EventQueue-0,6,IDE Main] InProgress: true MustNotify: false Entries: 0; vis. entries: 0; Inf
212278ClassCastException: [Lorg.openide.nodes.Node; cannot be cast to [Lorg.netbeans.modules.csl.navigation.ElementNode;
212431IllegalStateException: Problem in some module which uses Window System: Window System API is required to be called from AWT thread only, seehttp://core.netbeans.org/proposals/threading/
213434NullPointerException at org.netbeans.modules.html.editor.completion.HtmlCompletionProvider$DocQuery.doQuery
213441NullPointerException at org.netbeans.modules.search.ui.MatchingObjectNode.setInvalidOriginal


The NetBeans 7.2 is available for download here.