2011-11-20 71 views
0

我试图以.s扩展链接装配开发一个函数的C代码主程序main.c中调试C代码2010

我需要调试汇编程序,看看我的筹码并注册。 我该怎么做?

int main() { 
    char str[] = "remembering toUpperSelective exercise.."; 
    const char* findChars = "re"; 

    int result = toUpperSelective(str, findChars); 
    printf("Result Expected is %d and got %d \n", 14, result); 
    printf("Printing result: %s \n", str); 
    getchar(); 
    return 0; 
} 

我怎么说编译器在X位置搜索并停止抛出此错误? (Linking)

+0

你问如何调试或如何链接?你遇到了什么错误? – interjay

+0

@interjay,我需要的是通过Visual Studio链接代码,我需要调试后检查程序集是否发展良好。谢谢 – anotherNeo

+0

@gonçaloR你是什么意思的“组装很好”? – Yahia

回答

0

好的。 我试图在visual studio上做这件事,但在我尝试在Windows平台上使用洞察调试器而没有任何成功之前。

在此之前,我开始在StackOverflow中的另一个问题,但我已经达到了我想要的。 线程为here

我使用C代码链接程序集并在Insight C + My Assembly程序上调试。 谢谢!

0

您当然可以在您的C代码中使用汇编语言命令(单个或在块中)。查看用于运行汇编语言指令的ASM C函数。

我不太确定断点是否可以嵌入汇编语言工作。你可以做的是定义一个常规函数。在该功能内部,使用您的ASM组件块来编写组件。如果代码复杂并且您确实想调试它,则测试是以ASM语言单独进行的。也许你需要一个模拟器来处理你正在使用的处理器。你能指出ASM究竟会做什么吗?

我知道这不是正确的答案,但至少会让你走上正轨。

This thread might be somewhat helpfull

0

Visual Studio中没有使用附带的汇编。这意味着您要么使用C编译器的内联汇编程序功能,要么安装单独的汇编程序。

如果使用单独的汇编程序,则必须将源代码添加到项目中,并为其创建自定义生成规则,以便使用正确的标志调用汇编程序。 Visual Studio将能够处理实际的链接。至于调试,Visual Studio调试器能够从目标代码显示汇编代码,但是您选择的汇编器必须以一种格式输出调试信息。如果您希望能够正确查看所有标签等,Visual Studio可以识别它。