Dead Zone

Stand alone.

PDTの配列watch

2014-08-07 10:07:53 | 雑記

で、本題です。
元ネタは
Eclipse Expressions debug panel cuts arrays off at 31 elements
なんですが、Expressions viewで配列変数をwatchすると、[31...61]以降のブロックが展開できない(Xdebug)、Variables viewでは問題がないのに、という話で。
確かに。

これは、Preferences>PHP>Debug>Installed Debuggers>XDebug>Configureで、Max childrenの値を増やすしか手は無いです。

Xdebugは「パフォーマンス上の理由から」配列変数等はMax childrenを1ページとして扱い、Xdebug⇔Xdebug client(PDT)ではページ単位でデータを受け渡しているようです。
通常の変数の場合、データはメモリ上に存在するので、いつでも(生存期間中は)ページを指定してデータをやり取りすることができます(のでVariables viewでは必要に応じてその都度データを取りに行ける)。しかし、watch式の場合は(変数そのものが指定されたとしても)「評価(eval)」の結果なので、結果データがどこかにずっと存在するわけはなく、必要に応じて取りに行くということはできません。

ということはevalの結果はmax childrenに関わらず全部返さなきゃいけないんじゃないかと思うんですが、どうもXdebugはそうはしていないようで、logを見るとやはりevalのResponseでは最初の1ページ([0...30])しか返していません...

これってNetBeansではどう処理しているんだろうかと思いつつ8.0をインストールして試してみたところ。
たぶんオプション>PHP>デバッグの「ウォッチとバルーン評価」が該当項目だと思いますが、デフォルトがOffだったのでOnにしたらば。

「このオプションを有効にするとXdebugが不安定になる問題が報告されています。」
なんて警告が表示されました(^^;。そうですかああそうですか。

無視してデバッグ実行してみましたが、やはりNetBeansでもそのあたりの処理は何も無く、PDT同様、配列は最初の1ページしか表示できませんでした。

ふむ。

 

コメント

久しぶりにPDT

2014-08-07 09:52:13 | 雑記

久しぶりにPDTを検証しようとしまして。
PDTをインストールしてPreferences>PHP>PHP Executablesでとんとんと〜んとphp.exeを登録してPreferences>PHP>Debugを開こうとしたらエラーメッセージボックス(The currently displayed page contains invalid values)がどかんと出てきやがりまして(-_-)
何かと思えば。
PHP Executable登録時に、Nameを入力しないと不正なデータが生成されてしまってエラーになるようで。
なんだかな。
こんな所にバグを作りこむ性根が理解できん(-_-)

 

コメント

JEEパッケージ

2014-07-26 08:31:11 | 雑記

元ネタは
Eclipse Community Forums: Newcomers » "No schema found for the 'org.eclipse.ui.actionSets' extension point."
なんですけども。
Eclipse Java EE IDE for Web Developersパッケージで、"Hello World" Plug-inプロジェクトを作成してExtenionsタブを見ると"No schema found..."と表示されており、ツリーを展開してアイテムをクリックするとNullPointerExceptionが発生すると...

よくこんなもんリリースしたなぁ(^^;
PDEは含まれているのに肝心のSDKが含まれていないので"No schema found..."になり。(パッケージングのバグ)
しかもこの状態で要素を参照しようとするとNPEが発生するって酷いな。(PDEのバグ)

ま、Eclipse Project UpdatesサイトからPlatform SDKでも追加インストールすればいいんですけど。
けど。
確認が終わったんでPlatform SDKをアンインストールしたらば。
eclipse.exeまでもが削除されてしまいましたとさ。ナンダソレ(-_-)
StandardパッケージでもJavaパッケージでも同じでしたが。ナンダコレ(-_-)

 

コメント

理解できん

2014-07-25 09:44:13 | 雑記

元ネタは
Eclipse Community Forums: Newcomers » Incompatible JVM [I've gone through the sticker, still doesn't work]
で、文章はともかく引用されたeclipse.iniにくっきりはっきり
|-vm
|/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
|-vmargs
|-Dosgi.requiredJavaVersion=1.7

って書いてあるのに、リプライが
|Which file did you download from Eclipse.org? I'm guessing it has x86_64 in the name?
理解できんわ〜
|-Dosgi.requiredJavaVersion=1.7
1.7(Java7)以上が要求されてるのに
|/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
Java6なんか使うなよって、それだけの話なのに。
理解できんわ〜

 

コメント

特に意味は無いんですが

2014-07-21 21:50:49 | 雑記

eclipse4.4って、Linuxではデフォルトでgtk3を使用するんじゃなかったかと思ってたんですが。
Linux Mint 17では、gtk2で起動しますね...
普通に起動して、ps -A|javaでpidを確認して cat /proc/xxxx/maps|grep libswt-pi すると、ロードされてるのは libswt-pi-gtk〜(gtk2用のライブラリ)。
terminalでexport SWT_GTK3=1してからeclipseを起動して、同様にmapsを見ると、ロードされてるのは libswt-pi3-gtk〜(gtk3用のライブラリ)。

Eclipse Project Luna - New and Noteworthy の一番下のSet the GTK+ version to be used by Eclipse via the launcherから Bug 434619 – Switching to GTK+ 2/3 should be easier for products を経て rt.equinox.framework.git - Equinox Framework を見るとやはりデフォルトは2のようで...
eclipse.platform.swt.git - Eclipse Platform SWT を見てもやはりそのようで...

Bug 420180 – [GTK3] Use GTK 3.x (when available) by default on Linux/Unix instead of GTK 2.x
にも関わらずgtk3関連バグは今も大量に残されているのでデフォルトにするのはやめちゃったのかなと。
Bug 421127 – [GTK3] All views empty with GTK 3.10 comment 59
あたりかなと。

ま、特に意味は無いんですが。

 

コメント

eclipseヘルプのテキスト検索

2014-07-19 12:53:47 | 雑記

長いことeclipse使ってて全然知りもせず気にもかけませんでしたが。
元ネタというか発端はこちら。
Bug 422808 – Can not work in eclipse help system Chinese characters full text search
eclipseのヘルプで中国語でのテキスト検索ができねぇ、って話で、それ以外は何を言ってるのかサッパリなアレなんで、アレなんですが。

ヘルプのテキスト検索はLuceneが担っていますが、eclipseはIndex作成時のAnalyzerをOSのデフォルトの言語(Locale(厳密に言うとosgi.nl))によって決定しているようです。
日本語OSで日本語ヘルプの場合は、ふつ〜Locale=osgi.nl=ja_JPなのでCJKAanalyzerが使用されて日本語も適切にIndex化されます。
中国語ヘルプは中国語OSか、eclipse起動オプションに-nl zh_CNとか足してosgi.nl=zh_CNな中国語環境にしてやれば、ChineseAnalyzerが使用されて中国語も適切に(たぶん)Index化されます。

ということは...
英語版OSでは日本語ヘルプはIndex化されず、テキスト検索はできないということに...
その場合1回はeclipseを-nl ja_JPオプションをつけて起動してIndexを作成しなければならないということに...
たぶん複数の言語が混在する場合は手の施しようが無いケースもあり得るということに...

Indexは一度作成してしまうと、再作成するためにはいったんIndex(eclipse/configuration/org.eclipse.help.base/index)を削除する必要があり...
いろいろ面倒くさいことに...

なんだかなぁと思いつつBugzillaを検索してみたら。
タイトル(summary)に「help」を含むものが350件。これにはヘルプと直接関係ないものも含まれるので、summary調整された「[Help]」で絞ると180件。相当に古いものが相当に放置されてたり...
感心した。

全文検索用のIndex作成を検索対象のコンテンツではなくOSの言語で決めるってどうなのよと。キーボードレイアウトを言語で決めてしまう以上に筋違いというか何というか気持ち悪いというか気味が悪いというか...ゾゾゾ

 

コメント

懐かしの

2014-07-17 21:16:17 | 雑記

元ネタは
Bug 436835 – [KeyBindings] Key binding Alt+Shift+X, J does not work until an application has been run at least once using some other command
で、タイトル通りAlt+Shift+X,J(Run Java Application)が効かないって話なんですが。
コメントにあるように、一度実行してからなら上記ショートカットキーは効きます。
実行しなくても、RunまたはDebugボタンのドロップダウンリストを表示させたり、PreferencesでDebugの項を表示させるだけでもOKです。
これは、このショートカットキーを処理しているのはDebugUIプラグイン(org.eclipse.debug.internal.ui.DebugUIPlugin.start()からのorg.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager.loadLaunchShortcuts())で、こいつは自動的にスタートしてくれないからです。上記のようにRun/Debug履歴を表示するとかPrferencesを表示するとかのアクションを取らないとスタートしてくれず、その後でないとショートカットキーは処理されないということになってます。
昔PDTにもそんなような不具合があったような気がします(^^;(今はどうだか知りませんが)
PDT絡みで懐かしいので記事にしましたが、これって昔からある話なんじゃ...?

余談ですがウチの環境では自作プラグインがDebugUIを参照しているのでeclipse起動時にスタートするようになっていて、こういう不具合は発生しませんでした。

思い出した。たぶんPDTのはDebugDaemonが自動スタートしないのでブラウザ側からデバッグセッションを開始できないってやつでしたね。どうでもいいけど。

 

コメント

eclipse-jeeとdark theme

2014-07-15 19:06:44 | 雑記

私はDark themeは「目が腐る」と思っているのでどうでもいいんですが、
Bug 438175 – [Themes] White background using Dark theme
Eclipse IDE for Java EE Developersパッケージで、テーマをDarkにしてもエディタの背景が白いままだぞっ!
てな話がありまして。確かにそうなりますね。なんでやねん。
で、探ってみたらば。
とりあえずorg.eclipse.tm.terminal_3.2.300.201406060905.jarの/css/org.eclipse.tm.terminal.stylesheet.dark.cssを棄ててしまえばよさげな感じで。
「目が腐る」のでそれ以上追及してませんが。
たしかこの件は少し前StackOverflowでも質問が上がってて、それはEclipse Color Themeを使えという回答で終わってたと思いますが。実はやっぱりeclipseのバグだったと。

 

コメント

FilteredTree(LOL)

2014-07-14 16:55:32 | 雑記

Bug 438585 – [Dialogs] Cannot find items equals initial text in org.eclipse.ui.dialogs.FilteredTree
全然知りませんでしたけど。
org.eclipse.ui.dialogs.FilteredTreeって、初期表示文字と同じ文字列を入力すると何も入力されなかったものとみなされてしまう、と。
例えばPreferences画面を開くと、ツリーの上のフィルタ用テキストボックスに初期表示文字として「type filter text」とありますが、これを手入力すると、途中まではフィルタリングされますが「type filter text」まで入力した時点でフィルタリングが解除されてしまいます。
たぶんここらへんじゃないかと思いますが。(馬鹿馬鹿しいので確認はしてません)
eclipse.platform.ui.git - Eclipse Platform UI
|boolean initial = initialText != null
|        && initialText.equals(text);
|if (initial) {
|    patternFilter.setPattern(null);
|} else if (text != null) {
|    patternFilter.setPattern(text);
|}
「おちゃめ」な仕様ですね。さすがEclipse。

最近「開いた口が塞がらない」バグとか「バカヤロー」バグとか「目が腐る」Dark themeとか(ry

 

コメント

Lunaでサポートされたエディタの画面分割ですが(2)

2014-07-04 18:34:49 | 雑記

ところで、
Bug 432820 – [KeyBindings] DBCS4.4: Split Editor (Horizontal) key binding does not correct in JP keymap
の「修正」でorg.eclipse.uiのplugin.xmlに追加されたのは

<key
    locale="jp"
    commandId="org.eclipse.ui.window.splitEditor"
    contextId="org.eclipse.ui.contexts.window"
    sequence="M1+M2+-"
    schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
  <parameter
       id="Splitter.isHorizontal"
       value="true">
  </parameter>
</key>

これが実際の場面で有効にならない(ヒットしない)のは何故なんだろうと思ってたら。

バカヤローーー

localeは"jp"じゃなくて"ja"だーーー

いや一見して気づかない私も相当にタコですけども(^^;
これは一目見て気づくべきバグでしたね(^^;;
一応 locale="ja" と locale="ja_JP" で期待通り動作することを確認はしましたが。
いやはや...

 

コメント