小编P. *_*ore的帖子

调试IDE与XDebug的端口连接:"等待连接"

前言

像许多人一样,我花了更多时间来调试IDE与XDebug的连接,而不是使用XDebug来调试我的程序.我已经让它重复工作,但每隔一段时间我就会遇到常见的"等待连接"问题.我无法本地化导致XDebug工作或失败的原因.我已经使用ubuntu两年了; 我既不是菜鸟,也不是strace guru.我究竟做错了什么?如何更好地调试IDE与XDebug的连接?


建立

  • Ubuntu 10.10
  • Netbeans 6.9.1
  • 带有Suhosin-Patch的PHP 5.3.3-1ubuntu9
  • 使用xdebug.org上的定制安装说明脚本从源代码构建的带有debugclient的Xdebug v2.1.0
  • Apache Apache/2.2.16
  • /etc/php5/apache2/php.ini和/etc/php5/cli/php.ini都有:
    • zend_extension = /usr/lib/php5/20090626+lfs/xdebug.so
      xdebug.remote_enable=1
      xdebug.remote_handler=dbgp
      xdebug.remote_mode=req
      xdebug.remote_host=127.0.0.1
      xdebug.remote_port=9000
      xdebug.remote_log=/var/log/xdebug.log
      xdebug.extended_info=1
      xdebug.idekey="netbeans-xdebug"
      

程序

问题

我无法解释导致问题的原因或问题何时显现.它开始于我尝试调试我的项目时,这会导致我选择的开发浏览器(Chrome)使用参数打开我的项目的URL XDEBUG_SESSION_START=netbeans-xdebug.这会导致页面在chrome中正常呈现,而Netbeans仅报告"等待连接".

调试XDebug

首先,用"等待连接"的消息还活着,我会尝试用netstat来挖过来端口9000,去这样:

$ netstat -an | grep 9000
tcp6       0      0 :::9000                 :::*                    LISTEN     
Run Code Online (Sandbox Code Playgroud)

我关闭了我的IDE,并尝试使用两个文件来帮助弄清楚发生了什么:{webroot}/index.php包含<?php phpinfo(); ?>,并{webroot}/dbgtest.php包含XDebug安装检查脚本:

<?php
$address = '127.0.0.1';
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, …
Run Code Online (Sandbox Code Playgroud)

php ide netbeans netstat xdebug

29
推荐指数
2
解决办法
2万
查看次数

从java中的任意char获取VK int

你如何从一个字母的字母中获取VK代码?看起来你应该能够做类似的事情javax.swing.KeyStroke.getKeyStroke('c').getKeyCode(),但这不起作用(结果为零).如果您已经拥有KeyEvent,每个人都知道如何获取密钥代码,但如果您只想将字符转换为VK整数,该怎么办?我对获取奇怪字符的FK代码不感兴趣,只有[AZ],[az],[0-9].

这个问题的背景--------我见过的所有机器人教程都假设程序员喜欢通过发送带有VK代码的按键来拼出单词:

int keyInput[] = {
      KeyEvent.VK_D,
      KeyEvent.VK_O,
      KeyEvent.VK_N,
      KeyEvent.VK_E
  };//end keyInput array
Run Code Online (Sandbox Code Playgroud)

叫我懒惰,但即使使用Eclipse,也无法在GUI上使用TDD.如果有人碰巧知道一个类似于机器人的类,它接受字符串,然后模拟这些字符串的用户输入(我正在使用FEST),我很想知道.

java keyboard unit-testing awtrobot fest

8
推荐指数
2
解决办法
8962
查看次数

Safari JavaScript 控制台不执行 JS 或在某些页面上显示输出

我在本地开发的页面中遇到了特定于 Safari 的 JS 问题,因此我需要使用 Safari Web Inspector。

在 Safari 版本 13.1.1 中,当我打开检查器并选择Develop > Show JavaScript Console并开始输入 JavaScript 时,我没有得到任何输出并且 JavaScript 不会被执行(例如,不会触发警报)。

2+2的图片;, alert('okay!');, var myvar = 'foo';  蓝色,无输出

在任何其他页面上,safari JS 控制台对我来说都很好。这是 stackoverflow.com 上的正常行为示例:

2+2的图片; 4路输出

注意:其他本地开发页面上的 Safari JS 控制台工作正常。

什么可能导致这种情况?

debugging safari

8
推荐指数
2
解决办法
413
查看次数

Intellij代码样式以对齐单行注释

现在,IntelliJ的自动格式更改了以下内容:

    val reduceFn = (left: U, right: U) => {
      left ++ right                         // comment 1
              .myFuncA( _._1 )              // comment 2
              .myFuncABC {                  // comment 3
                g => {                      // comment 4
                  g.myFun                   
                  ._2                       
                  .myFunBBB( 0 )( _ + _ )   
                }
              }
    }: U                                    // comment 5
Run Code Online (Sandbox Code Playgroud)

对此:

    val reduceFn = (left: U, right: U) => {
      left ++ right // comment 1
              .myFuncA( _._1 ) // comment 2
              .myFuncABC {
                // comment 3
                g => {
                  // …
Run Code Online (Sandbox Code Playgroud)

formatting scala intellij-idea

6
推荐指数
1
解决办法
779
查看次数

bash/cli中的视觉选择

有没有办法让bash使用视觉选择进行文本替换

标准文本输入约定不起作用:

  1. 如果按Shift +向左箭头,则应以视觉方式选择左侧的字符
  2. 如果按Ctrl +向左箭头,光标应移动到上一个单词的开头
  3. 如果按Shift + Ctrl +向左箭头,则应直观地选择左侧的单词
  4. 如果您在视觉上选择了某些文本,然后按任意键,则文本应替换为您按下的键的文本

Vi模式(设置-o vi)视觉选择约定不起作用:

  1. 如果你进入正常模式,按'v'进入视觉选择,然后按'h',它应该在视觉上选择左边的字符
  2. 如果你进入正常模式,按'v'进入视觉选择,然后按'B',它应该在视觉上选择左边的单词
  3. 如果您在视觉上选择了一些文本,然后按"R",它应该删除文本并让您键入替换

vi vim bash command-line-interface

5
推荐指数
1
解决办法
2403
查看次数

graphql reason-apollo - 递归解析选项

我正在使用Reason-Apollo从我的服务器解析一个非常嵌套的GraphQL响应.我无法解析从GraphQL服务器返回的毛茸茸树的选项(我正在使用django-graphene).

这是使用Reason Apollo的GraphQL查询和Reason React模块:

module GroupQuery = [%graphql {|
query GetChatGroup($chatGroupId: ID!){
  chatGroup(id: $chatGroupId) {
    id
    users {
      edges {
        node {
          id
          name
          isCurrentUser
        }
      }
    }
    messages {
      edges {
        node {
          id
          text
          author {
            name
            abbreviation
            photoUrl
            isCurrentUser
          }
        }
      }
    }
  }
}
|}];

/*eventually will be a reducerComponent*/
let component = ReasonReact.statelessComponent("RechatWindow");

module Query = RechatApollo.Instance.Query;

let parseMessages = chatGroup =>
  switch chatGroup {
  | Some(chatGroup) =>
    switch chatGroup##messages {
    | Some(messages) …
Run Code Online (Sandbox Code Playgroud)

django graphql reason graphene-python reasonml

5
推荐指数
1
解决办法
301
查看次数

如何在 React Native FlatList (2018) 中向右滚动到列

我正在寻找一种在这样的表格上滚动视口的方法,除了每个单元格的大小完全相同: 视口可以向上、向右、向左、向下滚动

我目前正在使用FlatList'snumColumns参数来制作表格并在该表格上滚动视口。

这是一个小吃示例 - RegularGridExample

import React from 'react';
import { FlatList, Text, View } from 'react-native';

const numRows = 10,
  numColumns = 10,
  width = 100,
  height = 100,
  cells = [...Array(numRows * numColumns)].map((_, cellIndex) => {
    const rowIndex = Math.floor(cellIndex / numRows),
      colIndex = cellIndex % numColumns;
    return {
      key: `${colIndex},${rowIndex}`,
      rowIndex,
      colIndex,
      styles: {
        width,
        height,
        backgroundColor: 'green',
        borderColor: 'black',
        borderWidth: 1,
      },
    };
  });

export default class RegularGridExample extends React.Component { …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-flatlist

5
推荐指数
1
解决办法
2413
查看次数

从vim中的寄存器中删除换行符?

我有很多不同的大学名单.我正在尝试通过将线条与某些唯一关键字进行整理来构建同义词表格; 也就是说,在文件中,我将确定哈佛是这里的关键字:

Harvard Business School|
Harvard College|
Harvard School of Divinity|
Run Code Online (Sandbox Code Playgroud)

并将它们粘贴到另一个文件中

Harvard Business School|Harvard College|Harvard School of Divinity|
Run Code Online (Sandbox Code Playgroud)

我一直在这样做,通过搜索光标下的单词,将该单词的行放入寄存器,将寄存器粘贴到另一个文件中,并使用join命令"J"将这些行连接在一起:

[ clear register 'a' ]    
0"ay0
[ move cursor to 'Harvard" and yank lines with keyword into register a ]
:g/\<<CTRL-R><CTRL-W>\>/y A
[ move to other screen and paste ]
"ap
[ join lines ]
JJJJJ
Run Code Online (Sandbox Code Playgroud)

这很好用,但我希望它能够简化.具体来说,我想知道如何从寄存器中删除换行符,这样我就不必在最后一步中使用JJJJ手动加入行.我想搜索光标下包含单词的所有行,将它们复制到'a'寄存器中,从'a'寄存器中删除换行符,然后粘贴'a'寄存器的内容.

有任何想法吗?

编辑:我知道:

  • 如何全局搜索和替换,例如%s/\n // g
  • 如何搜索缓冲区中的'foo'并将其替换为寄存器的内容,例如:%s/foo/a/g
  • 如何搜索寄存器的内容并用缓冲区中的'foo'替换,例如:%s/a/bar/g

我需要知道的是:

  • 如何从寄存器'a'中搜索并用'bar'替换'foo'来注册'b'
  • 如何从寄存器'a'中搜索并用'bar'替换'foo'来注册'a'

regex vim replace vim-registers

4
推荐指数
1
解决办法
1285
查看次数

将JS对象作为范围传递给JS模板文字?

在python中,您可以像这样进行变量字符串插值:

song_context = { "adjective": "funny" }
ella_sings = "my {adjective} valentine".format(**song_context)
Run Code Online (Sandbox Code Playgroud)

在此,song_context对象格式化ella_sings字符串中的变量。

在ES6中,是否存在使用模板文字执行类似操作的内置方法?我正在寻找一种为给定字符串显式定义替换空间的快速方法。例如:

const song_context = { adjective: "funny" }
const ella_sings = `my ${adjective} valentine`.format(song_context)
Run Code Online (Sandbox Code Playgroud)

上下文:我知道执行此操作的其他方法,例如使用模板库或执行多次查找和替换,但是想知道ES6的任何部分是否开箱即用。我略读了ECMAScript 6.0标准模板文字部分,并且很清楚地指出了"Let ctx be the running execution context"这一点,但是似乎很难相信它们不会在必要时不提供一种明确地说明上下文的方法。

ecmascript-6 template-literals

4
推荐指数
2
解决办法
1021
查看次数

给定缩小文件,如何找到 D3 的确切版本?

我使用了一个使用大量 D3 的遗留系统。不幸的是,几年前将我们缩小的 d3.js 提交到 repo 的人没有记录它是哪个版本,所以现在我试图找到它的确切版本,以便我可以让它与 webpack 一起玩评估需要发生什么才能升级 D3。

鉴于此信息,找到我们拥有的 D3 版本的最佳方法是什么?

提交时间为 2013-09-05,文件本身有 shasum 8c20d53ba2c073a0b939b06847f12204ba0f81c6。我通过对我的文件进行差异检查来检查 3.3.[0-3] 在这里版本,但没有找到它。

我还制作了一个小 bash 脚本来找到它,但找不到它:

#!/usr/bin/env bash

for tag in $(  git tag -l | grep -e "v2.8.*" -e "v2.9.*" -e "v3.0.*" ); do
    echo -e "\n"
    git checkout $tag > /dev/null;
    for jsfile in *.js; do
      sha=$(shasum $jsfile | awk "{print $1}")
      if [[ "$sha" == "8c20d53ba2c073a0b939b06847f12204ba0f81c6" ]]; then
        echo "Found it! $tag has file $jsfile with …
Run Code Online (Sandbox Code Playgroud)

git d3.js

4
推荐指数
1
解决办法
123
查看次数