我知道如何在现代Linux内核中劫持系统调用,足以为它们设计简单的替代程序。我用来劫持系统调用的代码通常如下所示:
static unsigned long *sys_call_table = (unsigned long*)<address of system call table>;
…
int make_rw(unsigned long address) {
unsigned int level;
pte_t *pte = lookup_address(address, &level);
if (pte->pte &~ _PAGE
我用vs2017创建了一个c++ linux项目。我设置了一个到WSL (linux的windows子系统)的连接。当我构建或尝试调试时,我得到以下错误:
Current project architecture ‘x64’ is incompatible with the remote system architecture ” (‘Unknown’). Please switch the project architecture to ” in Configuration Manager
如何解决这个问题呢?
我现在这样做:
(gdb) info addr system_call
Symbol "system_call" is at 0xffffffff8100b920 in a file compiled without debugging.
(gdb) x/50i 0xffffffff8100b920
0xffffffff8100b920: swapgs
0xffffffff8100b923: nopw 0x0(%rax,%rax,1)
0xffffffff8100b929: nopl 0x0(%rax)
0xffffffff8100b930: mov %rsp
我在一个大型的C/C++项目中工作,代码库是在Clearcase中维护的。到目前为止,我们主要是在Linux环境下工作,并没有广泛使用IDE。我们通过VI直接签出和编辑文件。
因为我可以访问Clearcase for Windows access,所以我现在正在尝试访问Eclipse中的源文件。我主要想使用Eclipse进行编辑和代码导航。我通过我的unix帐户创建视图。我能够使用Clearcase Explorer在我的Windows PC上安装相同的视图。我能够访问代码并对之前签出的文件进行更改。
熟悉eclipse的人请让我知道如何在Eclipse中查看代码库。我不想在本地文件系统中创建