小编Mat*_*att的帖子

如何在OSX上获得"codesigned"gdb?

因为我需要启用Python gdb,所以我通过安装了另一个版本

brew tap homebrew/dupes
brew install gdb
Run Code Online (Sandbox Code Playgroud)

我想在gdbEclipse CDT中使用它,我在调试设置中输入了二进制文件的路径.但是,启动调试程序失败,并显示以下消息:

Error in final launch sequence
Failed to execute MI command:
-exec-run
Error message from debugger back end:
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Unable to find Mach task port for process-id 39847: (os/kern) failure (0x5).\n (please check gdb is codesigned - see taskgated(8))
Run Code Online (Sandbox Code Playgroud)

"编码签名"在这种情况下意味着什么?我该如何gdb运行?

c++ debugging macos gdb code-signing

43
推荐指数
4
解决办法
4万
查看次数

HTTP 1.1 - 客户端是否可以请求传输不被"分块"?

HTTP 1.1客户端是否可以设置一个标头值,指示不应对请求的响应进行分块?或者是防止这种情况的唯一方法是发送HTTP 1.0请求?我试过谷歌搜索,但我能找到的方法是禁用HTTP 1.1服务器上的分块传输,所以我猜测它在客户端是不可能的,但我想我还是会问.

http http-1.1 chunked chunked-encoding http-chunked

10
推荐指数
1
解决办法
7192
查看次数

PHP/MySQL/PDO绑定null参数不起作用

我在以下代码中绑定null参数时遇到问题

$nullVariable = NULL;
$sql = new PDO('mysql:host=' . $Server, $User, $Password);
$sql->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$statement = $sql->prepare("SELECT * FROM Table WHERE Binary16Column = :uuid");
$statement->bindParam(":uuid", $nullVariable, PDO::PARAM_NULL);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

结果变量将是一个空数组.如果我不使用参数并将我的查询修改为"WHERE Binary16Column IS NULL",则返回预期的行数.所以问题必须在于我如何处理参数,而不是我的SQL查询.

我的代码比上面列出的更复杂,我需要能够使用可能为null的参数变量,因此检查查看变量是否为null并且运行不同的查询不太理想.从技术上讲,我有自己的设置参数的功能,这是我检查变量的内容是否为空,并适当地绑定参数,所以我不必编写不必要的查询数.如果变量包含有效数据,并且参数类型为PARAM_LOB,则查询也可以正常工作.

有谁知道我做错了什么?非常感谢!

php mysql parameters null pdo

7
推荐指数
2
解决办法
3950
查看次数

从管道读取时Win32 ReadFile挂起

我正在创建一个子进程,并读取其输出.当子进程创建output(cmd /c echo Hello World)时,我的代码工作正常,但是如果进程没有创建output(),则ReadFile将挂起cmd /c echo Hello World > output.txt.我只是在流程终止后才开始阅读.

我做错了什么吗?无论如何使用同步模式执行此操作,还是必须使用异步模式?所有这一切都发生在一个单独的线程中,所以我不认为异步模式会给我任何好处,除非它是让这个工作的唯一方法.非常感谢!

saAttr.nLength = sizeof(SECURITY_ATTRIBUTES); 
saAttr.bInheritHandle = TRUE; 
saAttr.lpSecurityDescriptor = NULL; 

CreatePipe(&g_hChildStd_OUT_Rd, &g_hChildStd_OUT_Wr, &saAttr, 0);
SetHandleInformation(g_hChildStd_OUT_Rd, HANDLE_FLAG_INHERIT, 0);

memset(&piProcInfo, 0, sizeof(PROCESS_INFORMATION));
memset(&siStartInfo, 0, sizeof(STARTUPINFO));
siStartInfo.cb = sizeof(STARTUPINFO); 
siStartInfo.hStdError = g_hChildStd_OUT_Wr;
siStartInfo.hStdOutput = g_hChildStd_OUT_Wr;
siStartInfo.dwFlags |= STARTF_USESTDHANDLES;
CreateProcess(NULL, commandWideString, NULL, NULL, TRUE, 0, NULL, NULL, &siStartInfo, &piProcInfo);

while(1)
{
    GetExitCodeProcess(piProcInfo.hProcess, &processExitCode);
    if(processExitCode != STILL_ACTIVE)
        break;
    else
        Sleep(1);
}

*output = (char *)calloc(32, sizeof(char));
processOutputSize = 0;
while(1) …
Run Code Online (Sandbox Code Playgroud)

winapi hang readfile

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

PHP cURL - 线程安全吗?

我写了一个PHP脚本,它通过libcurl检索数据并对其进行处理.它工作正常,但出于性能原因,我将其更改为使用了数十个工作者(线程).性能提高了50多倍,但是现在php.exe每隔几分钟就会崩溃,而且列出的错误模块是php_curl.dll.我确实有C语言中的多线程经验,但之前在php中根本没用过它.

我google了,据说cURL是线程安全的(截至2001年):http: //curl.haxx.se/mail/lib-2001-01/0001.html但我找不到提及php_curl是否是线程安全.

如果它很重要,我从命令行运行php.我的设置是Win7 x64,PHP 5.5.11线程安全VC11 x86,PHP pthreads 2.0.4 for PHP 5.5线程安全VC11 x86.

这里有一些伪代码来展示我在做什么

class MyWorker extends Worker
{
    ...
    public function run()
    {
        ...
        while(1)
        {
            ...
            runCURL();
            ...
            sleep(1);
        }
    }
}

function runCURL()
{
    static $curlHandle = null;
    ...
    if(is_null($curlHandle))
    {
        $curlHandle = curl_init();
        curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curlHandle, CURLOPT_USERAGENT, "My User Agent String");
    }
    curl_setopt($curlHandle, CURLOPT_URL, "The URL");
    curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $data);
    curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $header);
    curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, false);

    $result = curl_exec($curlHandle);
    ...
}
Run Code Online (Sandbox Code Playgroud)

php multithreading curl thread-safety

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

C#/ .NET 4.5 - 为什么"等待Task.WhenAny"在WPF应用程序的UI线程中提供Task.Delay时永远不会返回?

鉴于以下代码,为什么Task.WhenAny在提供1秒的Task.Delay时永远不会返回?从技术上讲,我不确定它是否会在延长的时间后返回,但是在15秒左右之后我不会手动终止该过程.根据文档,我不需要手动启动delayTask,事实上,如果我尝试手动启动,我会收到异常.

当用户选择WPF应用程序中的上下文菜单项时,将从UI线程调用代码,尽管如果我为上下文菜单项指定了click方法,则在新线程中运行此代码时,它可以正常工作.

public void ContextMenuItem_Click(object sender, RoutedEventArgs e)
{
    ...
    SomeMethod();
    ...
}

public void SomeMethod()
{
    ...
    SomeOtherMethod();
    ....
}

public void SomeOtherMethod()
{
    ...
    TcpClient client = Connect().Result;
    ...
}

//In case you're wondering about the override below, these methods are in
//different classes i've just simplified things here a bit so I'm not posting
//pages worth of code.
public override async Task<TcpClient> Connect()
{
    ...
    Task connectTask = tcpClient.ConnectAsync(URI.Host, URI.Port);
    Task delayTask = Task.Delay(1000);
    if (await Task.WhenAny(connectTask, …
Run Code Online (Sandbox Code Playgroud)

.net c# task delay

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

PHP pThreads - 你如何执行垃圾收集?

鉴于以下代码,如何确保已完成的MyWorker对象被销毁/其内存被释放?

由于我的脚本需要我需要~50个线程不断从cURL获取数据并进行处理.

我已经尝试过让线程永远不会离开run(),或者如这个示例代码中所示,它们会离开run并让collect函数生成它们的新副本.

但不管我在一分钟左右后达到内存限制.你能告诉我我做错了什么吗?

class MyWorker extends Threaded
{
    public $complete;
    public function __construct() {$this->complete = false;}
    public function run() {$this->complete = true;}
}

$pool = new Pool(50);
for($i=0; $i<50; $i++)
    $pool->submit(new MyWorker());
$pool->collect(function($worker)
{
    global $pool;
    if($worker->complete == true)
        $pool->submit(new MyWorker());
    return $worker->complete;
});
$pool->shutdown();
Run Code Online (Sandbox Code Playgroud)

php multithreading garbage-collection memory-leaks pthreads

2
推荐指数
1
解决办法
1599
查看次数

WPF DataGrid-为什么会有一个空列?

有人可以解释为什么我的数据网格中有这个空列(在Column1之前)吗?

在此处输入图片说明

这是XAML

<DataGrid x:Name="mydatagrid" ItemsSource="{Binding}" AutoGenerateColumns="true" Margin="0,20,-3,-2" IsReadOnly="True" AutoGeneratingColumn="OnAutoGeneratingColumn"/>
Run Code Online (Sandbox Code Playgroud)

绑定到的对象类是INotifyPropertyChanged的子类,我可以肯定地说,我的类的任何属性都不会导致该列存在,因为如果存在,则该列将不会具有该属性的名称?

有没有更好的方法来删除/隐藏此列而不必诉诸于DataGrid的负左边距?

wpf datagrid

0
推荐指数
1
解决办法
390
查看次数