我试图制作一个能帮助我理解结构的程序 调用堆栈。
openssl pkcs12 -export -out certificate.p12 -inkey server.key -in server.crt -certfile ca.crt
//Provide a valid password during .p12 generation
foo修改它的堆栈帧返回地址,这样它不会返回到main,而是将bar的地址写入"返回地址" foo()堆栈的一部分。在bar中,程序应该在main()堆栈框架中,因为bar()没有自己的框架,而foo()的ebp寄存器返回到main。 bar()' s"返回1"应该尝试从main()返回并抛出异常。问题是这个代码工作正常,main()正确执行,打印
var ca = fs.readFileSync("certs/30112015/ca.crt");
var agent = new https.Agent({ ca: ca });
var opts = {
agent: agent
};
request(opts, function(err, response, body) {
//response handler code
}
);
我不明白这是如何工作的,也不会在返回部分崩溃。