b main与b * main之间的差异/找到C中的主要返回地址

时间:2016-12-10 17:02:52

标签: gdb

  1. gdb中的$(".tr_clone_add").on('click', function() { $('.tr_clone').last().clone(true).appendTo('table tbody'); });<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <table class="table table-striped table-bordered" cellspacing="0" width="100%"> <thead> <tr> <td>Hari</td> </tr> </thead> <tbody> <tr class="tr_clone"> <td> <select id="dropdown" class="form-control" name="hari[]"> <option>Senin</option> <option>Selasa</option> <option>Rabu</option> <option>Kamis</option> <option>Jumat</option> </select> </td> </tr> </tbody> </table> <input type="button" name="add" value="Tambah Baris" class="tr_clone_add">之间有什么区别?
  2. 我想使用gdb找到b main返回地址。
  3. 是不是?

    b *main

1 个答案:

答案 0 :(得分:0)

  

是不是?

没有

如果您使用b *main(在32位i*86主机上),这将是正确的,但如果您使用b main则不行。

正如this answer所解释的那样,前者在main的第一条指令中设置断点(当堆栈指针仍指向CALL指令推送的返回地址的下方时),后面的第一条指令函数prolog之后(此时其他几个值可能被压入堆栈)。