# Komodo FAQ

- Where is Komodo installed?
- Where does Komodo keep settings data?
- Where does Komodo save log files?
- Komodo doesn't start
- "Acces Denied" during installation on Windows XP SP3.
- I can't see my Left or Right Pane
- I can't see my Bottom Pane
- I want to maximize my Editor Pane
- How do I know if I'm debugging?
- How do I know if I'm editing?
- How can I add command-line arguments to my program for debugging?
- Komodo crashes. What can I do?
- Why is Komodo so big?
- I already have Mozilla. Why do I need to have two versions?
- I'm having trouble debugging PHP. What do I do?
- How do I emulate sessions in PHP debugging?
- Why don't breakpoints work when I use the Psyco extension in Python?
- How do I configure Virtual Hosting on an Apache Web server?
- I moved my Komodo installation on Linux, and am now getting Perl debugging errors.
- How do I prevent the dialog from displaying every time I start the debugger?
- Why do I get a CGI security alert when debugging PHP?
- The Check Configuration window reports that a language installed on my system is not available. Why?
- My screen goes black for a second or two whenever I open files for which Komodo performs background syntax checking. Why?
- How can I run additional CVS commands from within Komodo?
- Why doesn't Ruby debugging work on my Linux x64 system?

## Where is Komodo installed?

The Komodo installer will prompt for an installation directory; you can choose any directory you have permissions to install to. The default location varies by platform, and the name of the directory corresponds to the version of Komodo you are running ("IDE" or "Edit" on Windows, "IDE" or "Edit" plus the version number on OS X and Linux):

Windows

    C:\Program Files\ActiveState Komodo [IDE|Edit]\

Note: Older versions of Komodo on Windows installed in a directory which included the version number (e.g. "ActiveState Komodo IDE 4.2"), which allowed for side-by-side installations of different versions of Komodo. If you wish to do this, manually specify an install directory with a version number.

Linux

    /opt/Komodo-[IDE|Edit]-<version>/

OS X

    /Applications/Komodo-[IDE|Edit]-<version>.app

## Where does Komodo keep settings data?

Komodo stores preferences, macros, templates, keybinding schemes and other settings in a user-specific directory called the user data directory. The name and location of this directory varies depending on the operating system and Komodo version:

Windows 2000 and XP

    C:\Documents and Settings\<user>\Application Data\ActiveState\Komodo[IDE|Edit]\<version>

Windows Vista

    C:\Users\<user>\AppData\Roaming\ActiveState\Komodo[IDE|Edit]\<version>

Linux

    /home/<user>/.komodo[ide|edit]/<version>

Mac OS X

    /Users/<user>/Library/Application Support/Komodo[IDE|Edit]/<version>

The location of this directory can be overridden using the `KOMODO_USERDATADIR` environment variable.

## Where does Komodo log output and errors?

The user data directory contains `pystderr.log` and `pystdout.log`, which can be useful for troubleshooting problems with Komodo.

## Komodo doesn't start. Why?

If Komodo doesn't start, there could be one of several issues.

- Do you have Norton Anti-Virus (NAV) installed, or more specifically, the File System Realtime Protection feature enabled?

  The problematic relationship between Komodo and Norton Anti-Virus' File System Realtime Protection feature is a known issue, which we are working to remedy. In the meantime, you can disable `NAV Corp 7.5 FSRP` before running Komodo, and then re-enable it after Komodo starts.

If none of these seem to apply to you, please follow the instructions in this FAQ entry to log a bug in Komodo's bug database.

## "Acces Denied" during installation on Windows XP SP3.

You may need to upgrade your version of Windows Installer. Make sure that the Windows Installer Service is stopped before upgrading (requires a restart upon completion).

## Why can't I see my Left or Right Pane

One or more panes may be hidden.

To view the Left Pane, click the Show/Hide Left Pane button on the toolbar, use the options on the View menu, or use the associated key binding.

## I can't see my Bottom Pane

The Bottom Pane appears below the Editor Pane during debugging. If you can't see your Bottom Pane, it may be hidden.

To view the Bottom Pane, click the Show/Hide Bottom Pane button on the toolbar, use the options on the View menu, or use the associated key binding.

For more information, see Debugging Programs

## I want to maximize the Editor Pane

I like to see the Left and Right Panes and the Bottom Pane, but right now I want to maximize my Editor Pane to get some coding done. How can I maximize my Editor Pane?

To maximize your Editor Pane, hide the other panes in the Komodo workspace:

1. Click the close arrow button that appears in the top right corner of each of these panes.

## How do I know if I'm debugging?

When Komodo is debugging, the title of the Komodo workspace includes an indication of the state of the debugger. If the debugger is running, the title looks similar to [pathname\filename] - ActiveState Komodo - Debugger is running. If the debugger has hit a breakpoint, the title looks similar to [pathname\filename] - ActiveState Komodo - Debugger is in Break Mode.

## How do I know if I'm editing?

You are editing any time you're not formally debugging. When Komodo is editing, the title of the Komodo workspace is [pathname\filename] - ActiveState Komodo.

## How can I add command-line arguments to my program for debugging?

If you want to send add command-line arguments to your program for debugging, you can add these using the Debugger Launch Options dialog:

1. On the Debug menu, click Start.
2. In the Debugger Launch Options dialog, select the directory you want to begin debugging your program in. Click Browse and navigate to the appropriate directory.
3. In the same Debugger Launch Options dialog, enter your command-line arguments. These are sent to the script and not to the interpreter. Separate the arguments with spaces.
4. Click OK.

## Komodo crashes. What can I do?

As Komodo is running it updates a few log files with debugging and error information. If Komodo crashes, you can help us best determine the issue by sending us those log files, along with information on how you came across the crash. On some operating systems the system creates a crash log as well, which you should also send to us. The log files may include:

- startup.log (in your Komodo user data dir)
- pystderr.log (in your Komodo user data dir)
- pystdout.log (in your Komodo user data dir)
- console.log (in your Komodo user data dir)
- komodo-bin.crash.log (Mac OS X only, in ~/Library/Logs/CrashReporter)

Please use the following steps to send us your crash information:

Step 1: Ensure the logs are for the time Komodo crashed

Komodo's log files are only for the last time Komodo was run. If you have restarted Komodo since the time it crashed on you, you must reproduce the crash so that the log files are relevant.

Note: If Komodo is hung (i.e. won't shutdown), you may need to manually stop the `komodo-bin` process:

Windows
  Press `'Ctrl'+'Shift'+'Esc'` to open "Windows Task Manager". Select the "Processes" tab. Right-click on the "komodo.exe" entry and select "End Process".
Mac OS X
  Right-click (or 'Option'+click) on the Komodo head icon in the Dock and select the "Force Quit" option.
Linux
  At the terminal run `ps ux | grep komodo-bin` to determine the Komodo process id (or "pid"). Then run `kill -9 PID` where "PID" is the process id from the previous command.

Step 2: Locating the error log files

Komodo stores its log files in the host data subdirectory of the user data directory.

On Mac OS X, an additional `komodo-bin.crash.log` is created by the system in `~/Library/Logs/CrashReporter/`.

Step 3: Verifying and sending the files to ActiveState

To send the error log files to ActiveState:

1. Locate the files.
2. Verify that the files are not blank by viewing them with a text editor.
3. Create a bug describing what happened just before the crash in the Komodo or OpenKomodo bug database. (If you do not already have an ASPN or ActiveState bug database account, you can open one by selecting "New Account".)
4. Once the bug has been created, add the error log files by selecting Create in the Attachments and Dependencies section of the bug report.

## Why is Komodo so big?

Because Komodo is built on the Mozilla framework, it is necessary for us to include the Mozilla build that exactly matches the development version of Komodo. For that reason, even if you have Mozilla on your system, Komodo installs the Mozilla version that it requires.

Another sizable component of Komodo is language support. Komodo is so tightly integrated with Perl, Python, Ruby and PHP that it is necessary to include components of those languages, at specific version levels, for debugger and editor support.

## I already have Mozilla. Why do I need to have two versions?

When ActiveState develops a Komodo release, the work is based upon a specific version of Mozilla. During the development process, we upgrade the level of Mozilla used by Komodo, but this process requires considerable testing to ensure that no functionality is lost. Additionally, we add some custom components to the Mozilla tree that are used by Komodo. For these reasons, we recommend that you do not replace the Mozilla version included with Komodo with a later Mozilla version.

## I'm having trouble debugging PHP. What do I do?

If you receive an error message when attempting to debug a PHP program or if the debugging process does not proceed as expected, verify that you have installed PHP and the Xdebug extension as per the instructions in the Debugging PHP documentation, then check the following:

Confirm PHP Configuration

1. xdebug: in the command or shell window, enter `php -m`. "xdebug" should be listed under Zend Modules (and not under PHP Modules). If this is not the case, your configuration is incorrect. See "Common PHP Configuration Problems" below.
2. Syntax Checking: in Komodo, select Edit|Preferences. Click on Smart Editing, and ensure that "Enable background syntax checking" is checked. Open a PHP file and enter something that is syntactically incorrect, such as:

       <?
       asdf
       echo test;
       ?>

   Komodo should display a red squiggly line under `echo test;`. If it does not, it indicates that Komodo is not able to communicate with the PHP interpreter.
3. Debug: if steps one and two were successful, ensure that the debugger is functioning by opening a PHP program and debugging it. Ensure that the correct Preferences are configured for PHP.

If any of the steps above were unsuccessful, proceed to the next section.

Common PHP Configuration Problems

- Multiple PHP executables on one machine: in Komodo's Preferences, explicitly specify the PHP interpreter configured in your php.ini file. The location of the php.ini file can also be explicitly set.
- Verify the PHP version: PHP 4.0.5 or greater is required for PHP syntax checking. PHP 4.3.11 or greater is required to debug PHP programs.
- Verify Xdebug library specification: The location of xdebug.dll (Windows) or xdebug.so (Linux) must be defined the php.ini file, for example:
  - Windows: zend_extension_ts=C:\php-4.3.7\extensions\php_xdebug.dll
  - Linux: zend_extension=/php-4.3.7/extensions/php_xdebug.dll
- Ensure that the Xdebug extension is configured correctly in the php.ini file as per the Remote PHP Debugging instructions.

Windows-Specific Configuration Issues

- Windows 2000 upgrade: if you upgraded to Windows 2000 from an earlier version of Windows, check the value of the "COMSPEC" variable in the "System variables" (as described above). It should point to `C:\WINNT\system32\cmd.exe`, and not `command.com`. If you must change the variable, reboot your system.
- There are known issues regarding the installation of PHP on Windows Millennium systems; please refer to the PHP site for installation information.

Version Error Messages

If you receive a dialog with the following text:

    Warning
    xdebug: Unable to initialize module
    Module compiled with debug=0, thread-safety=1 module API=20001222
    PHP compiled with debug=0, thread-safety=1 module API=20001222
    These options need to match

... download an updated version of `xdebug.dll (Windows)` or `xdebug.so (Linux)` from the Xdebug.org site.

## How do I emulate sessions in PHP debugging?

Though it is possible to emulate sessions in local debugging mode, this requires pre-knowledge of session keys, and how those session keys are communicated to PHP.

It is easier to debug sessions using remote debugging. Run the script under a web server and start the debugging session from a web browser. Komodo intercepts the session and debugs it. All session data is available and modifiable through the Variable tabs.

## Why don't breakpoints work when I use the Psyco extension in Python?

When debugging Python programs that use Psyco, the breakpoints will be ignored. This is due to the optimizations/changes made by the psyco compiler.

You can work around this problem with the following code which disables Psyco while debugging:

    import logging
    if not logging.Logger.manager.loggerDict.has_key('dbgp'):
        import psyco
        psyco.full()

## How do I configure Virtual Hosting on an Apache Web server?

Virtual Hosting is an Apache feature for maintaining multiple servers on the same machine, differentiating them by their apparent hostname. For example, a single machine could contain two servers, "www.yourdomain.com" and "debug.yourdomain.com".

If you have configured your Apache installation to use Virtual Hosting (see httpd.apache.org/docs/1.3/vhosts/), you can add directives to your VirtualHost sections to specify how Komodo's PHP debugger extension operates for those hosts. Use the "php_admin_value" to set specific debugger settings for that virtual host. Here is an example:

    NameVirtualHost *
    <VirtualHost *>
    php_admin_value xdebug.enabled 0
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/www.error.log
    Servername www.yourdomain.com
    </VirtualHost>

    <VirtualHost *>
    php_admin_value xdebug.enabled 1
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/debug.error.log
    Servername debug.yourdomain.com
    </VirtualHost>

This will enable debugging under debug.yourdomain.com, but not under www.yourdomain.com. You can additionally configure the Virtual Host to use a specific machine for remote debugging:

    <VirtualHost *>
    php_admin_value xdebug.enabled 1
    php_admin_value xdebug.remote_host komodo.yourdomain.com
    DocumentRoot "/Apache/htdocs/"
    ErrorLog logs/debug.error.log
    Servername debug.yourdomain.com
    </VirtualHost>

For more information on configuring Virtual Hosting under Apache, see the Apache documentation at httpd.apache.org/docs/.

## I moved my Komodo installation on Linux, and am now getting Perl debugging errors.

On Linux, you cannot relocate an existing Komodo installation to a new directory. You must uninstall Komodo from the existing location and reinstall it in the new location. See Uninstalling Komodo on Linux for instructions.

## How do I prevent the dialog from displaying every time I start the debugger?

To prevent the debugger dialog from appearing each time you start the debugger, hold down the 'Ctrl' key when you start the debugger. For example, on Windows and Linux, press 'Ctrl'+'F5' rather than 'F5' to start debugging. Click Help|List Key Bindings to find the equivalent key binding for the Emacs and OS X default key binding schemes.

## Why do I get a CGI security alert when debugging PHP?

The CGI security alert only occurs when you compile PHP with --enable-cgi-force-redirect. That compilation directive forces PHP to check if it is being run as a CGI by looking at environment variables commonly available only under a CGI environment. If they exist, it looks for another environment variable that is reliably available ONLY under Apache, REDIRECT_STATUS (or HTTP_REDIRECT_STATUS under Netscape/iPlanet). If that environment variable does not exist, the security alert is generated.

To run your compilation of PHP under Komodo with CGI emulation, you have to add a CGI environment variable called REDIRECT_STATUS with any value.

## When I click Check Configuration on the Start Page, Komodo reports that a language that is installed on my system is not available. Why?

In order for Komodo to detect the presence of a language installed on your system, the location of the language interpreter must be specified in your system's `PATH` environment variable. If the Komodo Start Page states that a language is "Not Functional", or if the Komodo Preferences say that the language interpreter is not found on your system, check that the interpreter is specified in your `PATH`.

## My screen goes black for a second or two whenever I open files for which Komodo performs background syntax checking. Why?

Komodo launches a process as part of the background syntax checking that can cause a full screen command prompt to momentarily appear on some Windows systems. You can make the process invisible by editing the properties for the command prompt window. On the Windows Start menu, right-click the Command Prompt item, and select Properties. Select the Options tab, and change the Display options to Window.

## How can I run additional CVS commands from within Komodo?

Komodo can be used to check out, add, remove, compare, submit and revert files in a CVS repository. CVS offers additional commands such as import, checkout, history, annotate, rdiff and watch which can be put into Run Commands and saved to a project or the Toolbox. For example, the following `cvs import` command prompts for the User, Host, Module, Project and Version to import:

`cvs -d :ext:%(ask:User)@%(ask:Host):%(ask:Path) import %(ask:Module:) %(ask:Project:) %(ask:Version:)`

Alternatively, the `%(ask:...)` interpolation shortcut could be populated with defaults or replaced with static values:

`cvs -d :ext:%(ask:User:jdoe)@myhost:/var/cvsroot import %(ask:Module:) %(ask:Project:MyProject)`

CVS requires a real terminal for adding change descriptions. Be sure to set Run in: New Console in the command's properties.

## Why doesn't Ruby debugging work on my Linux x64 system?

Linux users trying to debug a Ruby application on AMD 64bit systems may see the following error:

> The Komodo ruby debugger couldn't load the ruby-debug-base component.
> This library ships with Komodo, but also can be installed by running `gem install ruby-debug-base'

Komodo ships with a 32-bit version of ruby-debug-base, which will not work with 64-bit versions of Ruby. To fix this:

1. Delete the installed `ruby-debug` libraries by removing the `/lib/support/dbgp/rubylib/1.8/` directory.
2. Download the latest ruby-debug-base gem from http://rubyforge.org/frs/?group_id=1900
3. Install the downloaded file using `gem`:

       sudo gem install ruby-debug-base-0.10.x.gem

Komodo will automatically find and use the new version of the debugging library.