我试图在我的Linux操作系统中获取IPv6地址,如下所示:
sd = Socket_m(AF_INET6_m, SOCK_DGRAM_m, 0);
ifc.ifc_buf = buffer_p;
ifc.ifc_len = buffSize;
Ioctl_m(sd, SIOCGIFCONF, &ifc);
Run Code Online (Sandbox Code Playgroud)
如果为接口配置了任何IPv4地址,它会成功运行,但如果接口只有一个IPv6地址,则ioctl不会返回该地址.
例如,我无法获取followith接口的IPv6地址,因为只配置了IPv6地址:
br1 Link encap:Ethernet HWaddr 00:10:18:2D:BB:34
inet6 addr: fe80::210:18ff:fe2d:be54/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:194244850 errors:0 dropped:0 overruns:0 frame:0
TX packets:72005 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12331900995 (11760.6 Mb) TX bytes:6192406 (5.9 Mb)
Run Code Online (Sandbox Code Playgroud) 我的 C 应用程序中面临着非常智能的内存损坏。
高负载时会发生损坏。
所以我尝试了purify、valgrind、mprotected,还尝试编写自己的简单保护机制。
Purify / Valgrind - 没有帮助,因为它降低了我的应用程序的性能并且问题没有重现。
mprotected使用只是将损坏移动到其他内存位置。(因为它需要将内存与页面大小对齐)。
我的简单保护机制不起作用,因为它还降低了性能。
如何在不降低性能的情况下调试我的应用程序?
我使用Selenium 2.35.0并配置代理设置,如:
DesiredCapabilities cap = new DesiredCapabilities();
org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy();
proxy.setHttpProxy(proxyStr).setFtpProxy(proxyStr).setSslProxy(proxyStr);
cap.setCapability(CapabilityType.PROXY, proxy);
driver = new FirefoxDriver(firefox, profile, cap);
Run Code Online (Sandbox Code Playgroud)
当我需要更改代理设置时,我强制重启webdriver并编写其他"proxyStr".
如何在没有webdriver重启的情况下实现这种变化?