小编kag*_*san的帖子

使用GDB摆脱"quit anyway"提示:只需终止进程并退出

考虑:

(gdb) q
A debugging session is active.

        Inferior 1 [process 9018] will be killed.

Quit anyway? (y or n) y
Run Code Online (Sandbox Code Playgroud)

什么是.gdbinit使GDB始终在退出请求时终止正在运行的进程的选项?

我知道,GDB能够连接到已经运行的进程,所以这将是糟糕的杀了他们的退出.但是,对于一个过程,从它开始,需要确认你的行动开始于第二个退出骚扰.

gdb

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

使用std :: cout时如何模拟printf的%p格式?

unsigned char *teta = ....;
...
printf("data at %p\n", teta); // prints 0xXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

如何使用iostreams 打印变量地址?有吗std::??? 功能就像std::hex做这种转换(地址 - >字符串),那么std::cout << std::??? << teta << std::endl会打印那个地址吗?

(没有sprintf的,请;))

c++ gcc iostream

18
推荐指数
1
解决办法
8128
查看次数

如何让子进程窗口在我的进程中显示模态?

我有一个应用程序调用一些其他实用程序应用程序来设置特定设备的一些设置.使用ShellExecuteEx调用该实用程序.

为了不混淆用户,最好将实用程序应用程序的窗口设置为我的主窗口.怎么做到这一点?

我试过的事情:

  1. ShellExecuteEx之后的进程上的WaitForSingleObjectEx,INFINITE TIMEOUT - 窗口是模态的,但主应用程序不重绘(因为它正在等待单个对象!)
  2. 在ShellExecuteEx之后的进程上WaitForSingleObjectEx,一些小超时,然后调用Peekmessage和DispatchMessage - 重绘现在可以工作,但实用程序应用程序不再是"模态".主应用程序响应鼠标点击,按钮点击等
  3. EnableWindow(FALSE),然后执行方法#2,然后执行EnableWindow(TRUE) - WORKS !!!,但在此之后,我的应用程序的z顺序发生了变化.(它现在低于其他窗口).为什么?!

windows winapi

8
推荐指数
1
解决办法
5884
查看次数

电报,跟踪消息编辑/删除和编辑我自己的消息(客户端,而不是Bot API)

因此,我正在尝试以适当的方式将电报聊天记录到我的ELK存储中,而现有的tgcli解决方案太旧了(我还有一个PoC,它通过Xposed记录来自Android客户端的消息编辑,但是它实现了UI级别的顶部并且无效)

我需要接收编辑/删除消息,并使用客户端Telegram API进行编辑.

花了一天时间研究它:

  • 支持编辑消息出现在20165月15日(电报博客)
  • telegram-cli的tgl库已有2年历史,很可能不支持该层
  • 我查看了telegramdesktop来源,因为它非常有前途,不幸的是他们的git历史没有任何方案更改,以编辑支持.
  • 正式版层列表将被截断.通过默默无闻的安全呃.
  • 使用shelomentsevd/telegramgo中使用的golang库进行的一些测试,超级组中的编辑由TL_updateChannelTooLong消息处理

现在我不想失去更多时间选择库/源.所以,我正在询问以下任一库的经验,我正在寻找一个能够快速实现所需功能的库 - 对于那些不想深入研究MTProto特性的人.

telegram mtproto

8
推荐指数
1
解决办法
637
查看次数

从C++走向C:替代std :: map?

我正在寻找std :: map <long,int>的简约替代品,它将进入Windows内核驱动程序,所以它应该非常快......预计它将保持相对较小(工作集中约200)的量键和大量的插入.

寻找可以降低关键搜索成本的解决方案.

c c++ stdmap wdk

7
推荐指数
1
解决办法
3251
查看次数

JMeter:如何在表格中查看结果中显示正则表达式提取器的结果?

我想在表监听器的View Results中的示例信息旁边显示提取的值(或指定的默认值),是否可能?

jmeter

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

Protobuf:如何在C++中处理嵌套(自定义)可选字段?

阅读协议缓冲区基础:C++,没有发现任何符合这种情况:与以下.proto一起处理--cpp_out,

message A {
 required int32 foo = 1;
}
message B {
 optional A data = 1;
}
Run Code Online (Sandbox Code Playgroud)

没有明显的生成访问器/ setter来设置自定义可选字段(包括'嵌套类型'部分,我懒得放在这里):

   // accessors -------------------------------------------------------

   // optional .A = 1;
   inline bool has_a() const;
   inline void clear_a();
   static const int kAFieldNumber = 1;
   inline const ::A& a() const;
   inline ::A* mutable_a();
   inline ::A* release_a();
Run Code Online (Sandbox Code Playgroud)

那么,如何在C++中将B :: A设置为某个A实例?


测试文件:.proto,生成结果:.h,.cc和一些.java


Upd:在Java中,嵌套字段通过Builder设置:例如,参见上面的链接(查找setData).

c++ protocol-buffers

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

在Linux上使用C++解析IP地址的MAC地址

我需要生成一个包含目标MAC地址的以太网头,(因为libnfnetlink在预先路由发生之前只给出了IP头),外出接口号也是已知的,因此可以在正确的网络中进行查找.

从IP地址解析MAC地址的库/功能是什么?

linux arp

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

.NET 中的正则表达式:加入重复命名的捕获组

给定表达式 ^(?<res>a).*(?<res>c)和测试字符串abc,期望命名组res连接找到的值和获取ac,但得到最新的更改 - c

C# 的正则表达式类有什么方法可以支持正则表达式中命名组的连接?

相关问题是带有命名捕获对的 Regex 问题,并且它说 Perl/PCRE 不支持重复命名对,但在这里我得到了 .NET,并寻找使 regex 返回包含两者的单个匹配项的特定魔法从字符串的不同部分找到值(即 abbbbbcdef 应返回 ac)。

多次调用正则表达式或在代码中加入结果组现在不是一个可以接受的解决方案 - 希望在正则表达式中完成整个工作。

.net regex

5
推荐指数
2
解决办法
1014
查看次数

除了破解内核驱动程序之外,Android还有办法创建虚拟蓝牙耳机吗?

实际上,这从以下问题开始: 我可以创建一个虚拟蓝牙耳机来操纵呼叫流吗?

我确信这可以通过用内容替换蓝牙的内核模块来完成.所以在Android虚拟蓝牙设备?听起来绝对可能.

而且,当然,人们可以简单地使用Raspberry Pi,它能够模拟耳机(至少只有A2DP播放)蓝牙配置文件,甚至是其中一个Bluegiga模块,用于将自定义虚拟耳机与Android挂钩并让它播放听到了电话.(哦,嗯,这足以将耳机的麦克风输入焊接到PC的声卡中......)


似乎Android(至少是root)允许通过某种钩子攻击其他应用程序的一些灵活性 - https://play.google.com/store/apps/details?id=com.trigonesoft.iti ; 有一个应用程序,从我的桌面体验JVMTI和jaspects,似乎基于Java的应用程序可以很好地欺骗.-

所以从理论上讲,有一种方法可以让系统认为蓝牙连接管理器实际连接到耳机,从而迫使它使用蓝牙路径播放声音.

但实际上没有办法"玩"到电话交谈中,我知道 - 所以问题就像在Android中创建一个简单的答录机一样吗?实际上是100%没有答案.我想这是由于硬件限制(以及所有节能音频路由的铃声和口哨,似乎是真的)


因此,问题是:是否可以模拟蓝牙设备,而无需用自定义存根替换供应商的蓝牙内核模块(例如,在MTK手机上使用mtk_stp_bt)?

(老实说,这听起来像是在发布一个蓝牙-sdk-in-userspace的想法,好吧,让我说我为CC-BY-NC许可证做了 CC BY-NC )

android bluetooth kernel-module

5
推荐指数
0
解决办法
2165
查看次数